I have seen a few posts about people saying their favorite database and I am curious now why you might choose a NoSQL database over an SQL database or vice versa.
Personally, for basically every project, I choose to use DyanmoDB. There are a few reasons why but they all in a way boil down to cost and performance.
As far as the cost side DynamoDB offers an extremely generous free tier and I have never on my side projects reached passed the free tier capacity which is really nice. One of the said side projects I had 10,000 users and even with doing roughly 150 reads a second it was free.
Another aspect I love about Dynamo is how good it works with serverless because you never make a constant connecting with the database, every change is done through HTTP requests. Dynamo is also extremely performant no matter how high you scale it. Currently working with a client that wanted to switch off of Postgres to Dynamo and performance has been an insane improvement for them.
I feel one of the main reasons I do not choose an SQL database is because I do not really have any analytical reads or have access patterns that I do not know about. I think SQL performs best when you need those analytical type queries but it seems a lot of people prefer SQL databases over NoSQL and was curious to see the reasoning.
Hi Garret, this is an evergreen and always interesting topic.
My opinion is that it really depends on which type of application you're trying to build and which pattern of data access you'll have. If the data model is documents I think a document DB is fine. If the data model is highly relational, you're probably better of with a RDBMS.
This is an interesting journey in the other direction:
Why we Moved From NoSQL MongoDB to PostgreSQL
Pavan Belagatti ・ Apr 24 '18 ・ 5 min read