Overall Satisfaction with Amazon DynamoDB
It is a great way to store vast amounts of data for quick retrieval. Along with new features added to it like global secondary indexes, automated backups, and dynamo streams, it becomes a great cheaper alternative to SQL. We use it to hold any data we need stored with high reliability while still being able to access it sub second.
- Fast retrieval
- Auto scaling to control costs
- Query and scanning allow for different use cases
- Can get very expensive very fast
- Sharding and hot spotting are hidden problems that can cause ALOT of head ache
- Not relational or transactional at all
- Better faster coding for data storage and retrieval
- Can get very expensive very fast for some use cases, while really cheap for others
- Hidden errors and short falls leads to very frustrating troubleshooting
Sql is much more feature rich yet costly and harder to maintain. Requires physical servers while dynamo everything is in the cloud across multiple AZs. Redis is actually great to put on top of dynamo to use as a read cache which is much faster and cheaper, but the storage and retrieval options are not as robust and the reliability is decreased
Its more of a we are locked in and migration would be more time and resource intensive than is worth it. It is better to find ways to optimize dynamo usage like custom scaling, Redis based caches, or moving data to S3 than to leave the platflorm completely. It provides enough incentive and usefulness to continue to use
It is best for high demand over short periods of time and then being scaled down to save costs. This is kind of a pay for what you need model. This falls short though because while you can scale up unlimited you can only scale down 4 times a day which can be a limitation for some.