Question

Difficulty: HardHigh-Performing Database Solutions

An online auction platform experiences massive spikes in read and write traffic during the final minutes of high-profile auctions. The system requires sub-millisecond latency for retrieving item details, and must handle a write rate of over 80,00080,000 updates per second for bid submissions. The database architecture must scale dynamically to handle these bursts without throttling. Which combination of database configurations will meet these performance requirements? (Select TWO.)

  1. Store the auction item details in Amazon DynamoDB, and deploy an Amazon DynamoDB Accelerator (DAX) cluster to cache read requests.Answer
  2. Implement write sharding on the bids table in Amazon DynamoDB by appending a random suffix to the partition key to distribute write operations across multiple physical partitions.Answer
  3. C
    Store bid entries in Amazon DynamoDB using the bid submission timestamp as the partition key to guarantee chronological ordering of bids.
  4. D
    Deploy Amazon RDS for PostgreSQL with a Read Replica, and configure the application to use the Read Replica as the primary failover target to maintain write performance during an outage.
  5. E
    Utilize Amazon RDS for MySQL in a Multi-AZ DB cluster deployment, and route write requests to the reader DB instances during peak traffic windows.

Answer

Use Amazon DynamoDB to store the auction item details with Amazon DynamoDB Accelerator (DAX) to cache read requests, and implement write sharding on the bids table by appending a random suffix to the partition key.
To achieve sub-millisecond read latency for DynamoDB, an in-memory caching layer like Amazon DynamoDB Accelerator (DAX) is required. To handle a write throughput of over 80,00080,000 updates per second without throttling, the write load must be evenly distributed across partitions. This is achieved by appending a random suffix to the partition key (write sharding) to prevent hot partitions.

Step-by-Step Solution

1
Analyze read performance requirements.
The platform requires sub-millisecond latency for retrieving item details, which is a read-heavy operation.
Standard DynamoDB queries operate in the single-digit millisecond range. To achieve sub-millisecond (microsecond) latency, an in-memory cache such as Amazon DynamoDB Accelerator (DAX) must be deployed.
2
Analyze write performance requirements.
The platform must support over 80,00080,000 write updates per second for bids.
To prevent write bottlenecks and physical partition limits, write sharding should be implemented. Appending a random suffix to the partition key distributes the workload across multiple partition keys.
3
Evaluate the architectural feasibility of the options.
Combining DynamoDB with DAX for reads and using a sharded partition key for writes meets the low-latency read and high-throughput write requirements without hitches.
Alternative relational database configurations like RDS fail to meet the performance scale and introduce misconfigured patterns like using read replicas for failover or writing to reader instances.

Key Concept

Scaling read and write performance in DynamoDB using DAX and write sharding.
Rate this question