To read what is dynamodb, follow the link.
You can use DynamoDB when you:
- Experience scalability problems with other database systems that are more traditional
- Develop an application or service
- Work with an online transaction processing (OLTP) workload. DynamoDB easily manages high-performance reads and writes and its performance is effective and constant across under any loads
- Deploy mission-critical applications that have to be highly available 24/7
- Need to reduce the workload of your operations team to manage additional database capability
- Require a high data durability
- Have not enough data for forecasting peaks and valleys in required database performance
Before using DynamoDB, you should think about the following:
- Can your data be organized in hierarchies or an aggregate structure in one or two tables?
- Do you consider data protection an important factor?
- Do you think traditional backups are impractical for the table update rate or overall data size?
- Does your database workload vary significantly or what is it driven by?
- Does your application or service require ongoing seamless response time within milliseconds?
- Do you need to provide scalability, replicability, or global configuration?
- Does the application have to store data in the high-terabyte size range?
- Are you willing to invest in a short but steep NoSQL learning curve?
Workload that is not applicable to DynamoDB includes: