← Back to context

Comment by jonthepirate

9 years ago

I also have done 3 years of MongoDB before I (unwillingly) wrote an app with it... worst development experience I've ever had. I wouldn't have used it were it not for my corporate overlords at the time.

My new rule of thumb: Use plain databases for most things and only use DynamoDB if there's a precise feature in your system that it is well suited for.

DynamoDB is a horrible general use database.

It's specifically not a general use database, so it's not surprising that it doesn't have general use database features. If you want that on AWS, use RDS or Aurora. If you need to scale in certain ways, then Dynamo can certainly be worth the restrictions it imposes, because it is very scalable.

You had a horrible experience with MongoDB but you are drawing a conclusion about DynamoDB? Am I missing something?

  • I think your parent commenter meant "3y experience using Mongo before having to use it [- DDB, subject of thread -] ..."

Care to elaborate? MongoDB for app development on paper seems like a great solution.

The NOSQL model fits great with a Restful API layer. The process of getting and posting data over HTTP should be a lot simpler with Restful API/MongoDB when compared to relational database solution.

I know Restful APIs are not perfect either, so care to fill in the blanks of why its was the worst dev experience for you.