Amazon DynamoDB
By Amazon Web Services
Amazon DynamoDB is a fully managed, serverless NoSQL database from AWS that stores data as key-value pairs and documents, designed to deliver consistent, single-digit-millisecond performance at virtually any scale.
Definition
Amazon DynamoDB is a fully managed, serverless NoSQL database from AWS that stores data as key-value pairs and documents, designed to deliver consistent, single-digit-millisecond performance at virtually any scale.
Overview
DynamoDB was built to solve a scaling problem large web applications kept hitting with traditional relational databases: as traffic grew, manually sharding and scaling a relational database became increasingly difficult to operate reliably. DynamoDB instead is serverless and horizontally scalable by design — tables are partitioned automatically based on a chosen partition key, and throughput can scale up or down (including fully on-demand, pay-per-request modes) without manual intervention from the application team. Its data model is intentionally simpler than a relational database's: items are stored and retrieved primarily by primary key, with secondary indexes available for additional access patterns, but there is no general-purpose SQL join across tables. This trade-off — less query flexibility in exchange for predictable, low-latency performance at scale — is why DynamoDB is typically chosen for access patterns that are known in advance, such as session stores, shopping carts, or high-throughput event data, while workloads needing complex ad hoc queries often reach for a relational service like Amazon RDS or a different NoSQL store like MongoDB instead.
Key Features
- Serverless, fully managed NoSQL key-value and document database
- Automatic horizontal scaling of storage and throughput
- Single-digit-millisecond read/write latency at scale
- On-demand and provisioned capacity pricing modes
- Global tables for multi-region replication
- DynamoDB Streams for reacting to data changes in real time
- Fine-grained, item-level access control via IAM policies