- Fully managed NoSQL database service with automatic scaling and high availability.
- Data is replicated across multiple Availability Zones for durability.
- Not relational, but supports ACID transactions.
- Massively scalable:
- Processes millions of requests per second.
- Stores trillions of items and hundreds of terabytes.
- Consistent low-latency reads and writes, typically single-digit milliseconds.
- IAM integration for fine-grained security, authorization, and administrative control.
- Cost-efficient with on-demand and provisioned capacity modes, plus auto scaling.
- Fully serverless – no infrastructure provisioning, maintenance, or patching.
- Supports Table Classes:
- Standard – default choice for frequently accessed data.
- Infrequent Access (IA) – lower cost for rarely accessed data.
Structure and Data Model
- A DynamoDB database is composed of Tables.
- Each table requires a Primary Key, defined at creation time.
- Tables can store an unlimited number of items.
- Each item (row) contains attributes that:
- Can be added over time.
- Can contain null values.
- Maximum item size: 400 KB.
Supported Data Types
- Scalar Types: String, Number, Binary, Boolean, Null.
- Document Types: List, Map.
- Set Types: String Set, Number Set, Binary Set.
DynamoDB enables rapid schema evolution, allowing flexible and dynamic data structures.
Key Concepts
- Primary Key = Partition Key + (optional) Sort Key.
- Example:
User_ID
= Partition Key.Game_ID
= Sort Key.Score
and Result
= non-key attributes.
- This schema design allows multiple games per user, uniquely identified by
Game_ID
.
🟢
DynamoDB – Read/Write Capacity Modes🟢
DynamoDB Accelerator (DAX)🟢
DynamoDB – Streams🟢
DynamoDB – Global Tables🟢
DynamoDB – Time To Live (TTL)🟢
DynamoDB – Backups for Disaster Recovery🟡
DynamoDB – Integration with Amazon S3🟡
DynamoDB - Deletion Protection