Question

Difficulty: HardHigh-Performing Database Solutions

A solutions architect is designing the database layer for a global gaming application. The application requires a relational database in the primary region (`us-east-1`) that can dynamically scale read capacity and achieve cross-region disaster recovery with a recovery point objective (RPO) of less than 11 second and a recovery time objective (RTO) of less than 11 minute in `us-west-2`. Additionally, the application has a leaderboard feature backed by Amazon DynamoDB that must store game session events. The events are ingested continuously, and each event payload contains a player ID, game session ID, and a precise UTC timestamp.

Which TWO strategies should the solutions architect implement to meet these performance and availability requirements? (Select TWO.)

  1. Deploy Amazon Aurora Global Databases with a primary cluster in `us-east-1` and a secondary cluster in `us-west-2`, utilizing storage-level physical replication.Answer
  2. Design the DynamoDB leaderboard table partition key as a combination of the player ID and game session ID, and use the timestamp as the sort key.Answer
  3. C
    Deploy Amazon RDS for PostgreSQL with Multi-AZ in `us-east-1` and use a cross-region Read Replica in `us-west-2` as the automated, zero-data-loss failover target to meet the RTO and RPO limits.
  4. D
    Design the DynamoDB leaderboard table with a partition key based on the UTC timestamp to allow queries to easily scan and retrieve sorted chronological leaderboard data.
  5. E
    Configure the DynamoDB leaderboard table using Provisioned Capacity Mode with static Read Capacity Units (RCUs) and Write Capacity Units (WCUs) to optimize performance for unpredictable, highly spiky game event uploads.

Answer

Deploy Amazon Aurora Global Databases with storage-level replication, and design the DynamoDB partition key as a combination of player ID and game session ID with timestamp as the sort key.
The correct strategy combines Amazon Aurora Global Databases and an optimal DynamoDB composite key structure. Aurora Global Databases use physical replication at the storage layer to achieve cross-region replica lag of less than 11 second and enable sub-minute recovery via regional promotion. For DynamoDB, combining high-cardinality attributes like player ID and session ID as the partition key ensures that write operations are distributed uniformly across partitions, avoiding write bottlenecks, while placing the timestamp as the sort key allows for efficient chronological queries.

Step-by-Step Solution

1
Analyze the relational database performance and replication requirements.
Identified the need for cross-region replication with RPO < 11 second and RTO < 11 minute, combined with dynamic read scaling.
Aurora Global Databases provide storage-based, physical replication that delivers sub-second RPO and rapid regional failover, meeting the RTO/RPO targets.
2
Analyze the DynamoDB write ingestion patterns and data key schema.
Identified that continuously ingested events with sequential timestamps can lead to partition bottlenecks (hot keys).
To prevent write hot spots on a single physical partition, a composite key with high cardinality (player ID + session ID) must be used as the partition key, placing the sequential timestamp as the sort key.
3
Evaluate and eliminate incorrect database options based on AWS limits and capabilities.
RDS Read Replicas do not support automatic cross-region failover, timestamps as partition keys create write bottlenecks, and static provisioned capacity cannot handle unpredictable spiky traffic.
Eliminating options that introduce performance bottlenecks or fail to meet the RPO/RTO requirements leaves the combination of Aurora Global Databases and proper DynamoDB composite key design as the correct strategies.

Key Concept

High-performing database replication and schema partition key design
Rate this question