An application serving users on three continents needs a DynamoDB table where writes made in any region are automatically propagated to the table's replicas in the other regions, with every region able to accept both reads and writes. Which feature provides this?
- Cross-region read replicas configured through RDS
- A single-region table accessed over AWS Global Accelerator
- DynamoDB Accelerator (DAX) with a shared cluster across regions
- DynamoDB global tables, which replicate a table across regions in a multi-active configuration
Why D? And why not the others?
Correct answer: D. DynamoDB global tables, which replicate a table across regions in a multi-active configuration
DynamoDB global tables let a single table have replicas in multiple AWS regions, and every replica is multi-active, meaning applications can read and write to whichever regional replica is closest to them; writes propagate to the other regions asynchronously, typically within about a second, with conflicting concurrent writes to the same item resolved by a last-writer-wins rule based on the write's internal timestamp. The option describing RDS cross-region read replicas is wrong because that is a relational-database feature entirely separate from DynamoDB, and RDS read replicas only accept reads, not writes, in the secondary region. The option describing Global Accelerator is wrong because it only optimizes network routing to a single regional endpoint; it does not create or synchronize additional copies of table data. The option describing DAX is wrong because DAX is an in-memory read-through/write-through cache in front of a single region's table, not a mechanism for replicating table data across regions.
Source: AWS DynamoDB documentation: global tables (multi-active, multi-Region replication)