Overall Satisfaction with Amazon DynamoDB
Amazon DynamoDB is currently being used as one of our primary databases for several mobile and web applications. Key factors that directed us to choose Amazon DynamoDB are:
- It's part of the AWS family, and our entire platform is built on AWS and using a solution from AWS itself was one of the top priorities.
- Scalability and availability - Since its a managed solution we do not have to worry about scaling or the reliability of the database.
- Simple scalability and key-value storage.
- Building a real-time database using DynamoDB streams.
- Storing JSON data.
- Implementation was harder than relational databases.
- Querying is sometimes a nightmare.
- Backup and restore are not straightforward.
- Very cheap to set-up and run in production.
- Great ROI compared to running a managed solution or database servers.
The main reason for sticking to DynamoDB is that its part of the AWS suite and since its a managed solution, so we do not have to worry about scalability and reliability. There are some advantages and disadvantages for using DynamoDB and the decision ultimately depends on your requirements and the type of data that has to be stored and queried.
Unless we find any huge flaws in DynamoDB we're going to stick with it. At the moment, and at the scale we're operating on, DynamoDB is the ideal solution in terms of pricing, reliability and development costs. Since our entire infrastructure is already in AWS, using a tool inside the suite is also something we prefer and prioritize before considering other offerings.
If your database doesn't have any relations DynamoDB would be an ideal solution. Consider it more as key-value storage rather than a database, so it ideal for storing something based on a key and fetching it back using that key. But if you have relations or complex data-based queries DynamoDB might not have a straight forward solution.