On-demand backups/point-in-time recovery: DynamoDB allows you to restore a table to any point in time during the last ~30 days. To read more about encryption at rest, here are the official AWS docs. Users can choose three options: an AWS-owned customer master key (CMK), an AWS-managed CMK (i.e., the key is stored in your account and managed by the AWS Key Management Service), or a customer-managed CMK (i.e., the key is stored in your account and created/owned/managed by you.) The cool thing is that each table can utilize a different option. Wow!Īdditionally, AWS offers a suite of other features that can make DynamoDB a great fit for applications requiring data retention and/or security.Įncryption at rest: DynamoDB secures all of your data in an encrypted table, including the primary key. Amazon touts that DynamoDB can deliver single-digit millisecond performance at any scale, as well as handle 10 trillion+ requests per day, with peaks of 20 million+ requests per second. Furthermore, whereas RDMS are optimized for storage, DynamoDB is optimized for compute. However, if you're building out a data warehouse or OLAP application that users will be frequently querying, a schemaless database is probably not the best design choice. a traditional SQL database, such as Postgres, if you will eventually build for scale. Even if adoption is light at first, and the need for performance isn't immediately necessary, starting with DynamoDB may be advantageous vs. For example, social networks, games, and IoT devices might be good candidates for DynamoDB for example, Lyft, Airbnb, and Redfin utilize Dynamo. When should you consider utilizing DynamoDB?ĭynamoDB is a solid option for applications that need to support a very large number (in the thousands+) of concurrent users and, therefore, tens of thousands of reads/writes per second. Amazon had originally developed Dynamo internally after the 2004 holiday season, when several of their applications failed due to the high amount of traffic. When would this be beneficial, you ask? Well, let's learn why Amazon created DynamoDB.Īmazon announced plans to release DynamoDB for public use in 2012. While every table must have a primary key, there are no other constraints on other non-key attributes. Between these tables, there are "relationships" utilizing foreign keys. I imagine that most of the developers reading this are quite familiar with traditional relational database systems, which involve well-defined schemas and data normalized into tables, rows, and columns. At its core, DynamoDB is a NoSQL database that offers key-value and document data structures.