DynamoDB - Know you Absolutely Need it Before Committing
March 05, 2019

DynamoDB - Know you Absolutely Need it Before Committing

Anonymous | TrustRadius Reviewer
Score 6 out of 10
Vetted Review
Verified User

Overall Satisfaction with Amazon DynamoDB

It was used as our primary data store for a link sharing and user profile-based application. We chose it for its speed and scalability as well as what we perceived beneficial pricing model. We knew that we wanted to use a NoSQL solution, and having one that was hosted by AWS seemed like an ideal fit.
  • It's fast. VERY fast. We still house our data that needs to be accessed quickly here.
  • It's a flexible NoSQL solution
  • It has unlimited scalability and you can use only what you pay for.
  • There is very minimal tooling for it compared to other mature solutions. You must go through the AWS dashboard to access what you need.
  • The throughput model for charging can make it very difficult to effectively read and write. It's good for small consistent loads, but does not handle spikes and can not transferring large amounts of data. Once you have data in Dynamo, it's very difficult to transport it out at a reasonable cost - very annoying if you want to move data to a different type of storage.
  • It gets expensive very quickly. We thought it would be cheap, but any kind of reasonable load will shoot your costs up beyond what you would have paid for other solutions.
  • The data is very rigid. You must follow their model of declaring indexes and they can't be updated once the tables are created.
  • From a dollar standpoint, it costs much more than other options.
  • It gave us speed and the feeling of safety if things needed to scale.
  • There isn't as much tooling, so there is a negative cost there in the difficulty to work with it.
I've used SQL and NoSQL solutions, such as MongoDB and MySQL. I would not choose Dynamo to be a primary datastore and one of the others is likely a better option. Dynamo is good as almost viewed as a large cache. If you want something that is more supported and easier to work with, choose a solution based on the community around the technology. We are porting everything to MySQL.
We are actively moving away from it, but likely will keep some aspects on the service because we do value the speed. There is a free tier and we understand the indexes more, so we are able to bring the costs down. Any that has complex data, needs structure, or has associations we are moving to MySQL.
It's a very good database for specific use-cases, but you should know full well what you are getting into with it. You are stuck doing things the Amazon way and paying much more than other options. If you need speed, have the money, and fully understand your indexes, it's top notch. If you care more about tooling, known costs, and stability, another solution might be better.

Amazon DynamoDB Feature Ratings

Data model flexibility
Deployment model flexibility