🔶

Amazon DynamoDB

  • 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