AWS Database Services: DynamoDB Global Tables
For the SAA-C03 exam, understanding Amazon DynamoDB Global Tables is crucial for scenarios requiring multi-region availability and low-latency access for globally distributed users. It is the premier “Active-Active” multi-region database solution in the AWS ecosystem.
Core Concepts & Architecture
Global Tables build upon the foundation of standard DynamoDB tables. They provide a fully managed, multi-region, and multi-active database. When you write data to a table in one region, DynamoDB automatically replicates that data to all other participant regions.
Replication Mechanism
- DynamoDB Streams: Global Tables rely on DynamoDB Streams. You must enable “New and Old Images” for the stream to allow replication across regions.
- Latency: Replication typically completes within a second, though it is “eventually consistent” across regions.
- Conflict Resolution: DynamoDB uses a “Last Writer Wins” (LWW) mechanism based on the timestamp of the write operation to resolve concurrent updates to the same item.
Comparison: Global Tables vs. Aurora Global Database
| Feature | DynamoDB Global Tables | Aurora Global Database |
|---|---|---|
| Model | NoSQL (Key-Value/Document) | Relational (SQL) |
| Write Mode | Multi-Active (Write to any region) | Single-Master (Primary region only) |
| Scaling | Seamless Auto-scaling / On-demand | Instance-based vertical/horizontal |
| DR Strategy | RPO/RTO near zero (Active-Active) | RPO < 1 min; RTO < 1 min (Promote secondary) |
Decision Matrix: If-Then Guide
- If you need sub-millisecond local latency for users in multiple continents, Then use Global Tables.
- If your application requires 99.999% availability (five nines), Then Global Tables is the recommended choice.
- If you need to write to multiple regions simultaneously, Then choose Global Tables (Aurora Global only allows writes in one region).
- If you must use complex SQL joins across regions, Then Global Tables is NOT the right choice; stick to Aurora.
Exam Tips and Gotchas
- Streams Requirement: You cannot enable Global Tables without first enabling DynamoDB Streams.
- Consistency: While local reads can be Strongly Consistent, cross-region replication is always Eventually Consistent.
- WCU/RCU Management: You must ensure that the Write Capacity Units (WCU) and Read Capacity Units (RCU) are configured identically across all regions to avoid throttling during replication.
- Last Writer Wins: Be aware that if two users update the same record in different regions at the exact same time, the one with the later timestamp persists.
Topics covered:
Summary of key subtopics covered in this guide:
- Multi-region Active-Active architecture
- DynamoDB Streams dependency
- Conflict resolution (Last Writer Wins)
- Consistency models (Local vs. Global)
- Comparison with Aurora Global Database
- Capacity management across regions
INFOGRAPHIC: DynamoDB Global Tables
Architecting for Global Scale & High Availability
SCALING Performance
Provides local read/write latency for global users. Requests are routed to the nearest regional endpoint via Route 53 or Global Accelerator.
SECURITY Ecosystem
- IAM: Control access per region.
- KMS: Encryption at rest (AWS managed or CMK).
- VPC Endpoints: Keep traffic off the public internet.
COST Optimization
Billed based on storage in each region and Replicated Write Units (rWCU). Ensure Auto-scaling is enabled to manage costs during traffic spikes.
USE CASE Production Scenario
Gaming Leaderboards: Players in London and New York update scores simultaneously. Data syncs globally in <1s for a unified experience.