DyanmoDB - Helps you scale
September 05, 2017

DyanmoDB - Helps you scale

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

Overall Satisfaction with Amazon DynamoDB

My first use of Amazon DynamoDB was to create an audit log of user actions for our application. Since then, our team has also used Amazon DynamoDB to create a metric collection tool. Clearly SQL is not a great option for these types of data collection. Clearly the biggest problem Amazon DynamoDB solves is scalability. There is much less management required than with the rest of AWS offerings.
  • Amazon DynamoDB is infinitely scalable. It is fast and Amazon automatically allocates more resources.
  • No predefined schema is required. This ensures flexibility.
  • Minimum administrative cost since Amazon manages all that. This works for small companies since you don't need a DevOps headcount.
  • It's a NoSQL database. That means you lose all the capabilities of a traditional RDBMS model. You can't do joins to query data and you lose ACID properties.
  • DynamoDB does not support multiple indices. That means for certain queries, you need to do full table scans which is not desirable. There are work arounds for this.
  • The provisioned throughput doesn't degrade gracefully. That means that once you hit the limit, the requests are denied. It's tricky to come up with the limits of your application.
Very low maintenance, no back ups required since it's an AWS service. The access times are very low irrespective of how many connections. That makes Amazon DynamoDB an ideal candidate for scaling apps.

As I pointed out, there are certain flaws. In the end, like every other tool available, you have to pick what works best for your application.
  • There is a bit of a learning curve. But in the end, the advantages outweigh the cost to learn.
  • Since the schema is very flexible, the cost of change is not high. For me, that's been a big advantage so far.
  • We use a lot of other services provided by Amazon. That make it easy for us since everything is in the same place and tied together.
We evaluated using MongoDB or Amazon DyanmoDB. For us, the biggest advantage is that there's no maintenance cost for Amazon DynamoDB. Mongo gets complicated when you setup sharding. With Amazon DynamoDB, it's literally a push of button to increase throughput. This saves time and money on DevOps resources.
Amazon S3 (Simple Storage Service), Amazon Elastic Compute Cloud (EC2), Elasticsearch
As I said earlier, DynamoDB works well for our application. There's a few shortcoming but there's workarounds for almost everything.
If you start with Amazon DynamoDB, you are over optimizing for the future. In my opinion, use Amazon DynamoDB only when SQL can not handle the load of your application.