A real-time bidding application uses Amazon DynamoDB to track active auctions. During peak bidding hours, the write volume spikes to writes per second, causing some write requests to fail with `ProvisionedThroughputExceededException` errors, even though the total provisioned write capacity is sufficient for the workload. Additionally, the application requires microsecond-latency reads to retrieve auction details, and concurrent analytics queries are degrading the write performance of active auctions.
Which two actions should the solutions architect take to resolve these performance issues? (Select TWO.)
- Deploy an Amazon DynamoDB Accelerator (DAX) cluster to handle read requests for auction details with microsecond latency.Answer
- Redesign the partition key schema by appending a random suffix to the auction ID to distribute write requests evenly across partitions.Answer
- CConfigure RDS Read Replicas for the DynamoDB table and use them as automatic failover endpoints to maintain write capacity during spikes.
- DRedesign the DynamoDB table to use the auction start timestamp as a monotonically increasing partition key to simplify sequential querying.
- ESwitch the DynamoDB table to provisioned capacity mode with a fixed partition key based on the auction category to group all bids together.
Answer
Deploying an Amazon DynamoDB Accelerator (DAX) cluster to handle read requests and redesigning the partition key schema by appending a random suffix to the auction ID.
The correct response involves deploying an Amazon DynamoDB Accelerator (DAX) cluster to cache read requests, reducing read latency to microseconds and offloading read traffic from the table to prevent read contention. It also requires redesigning the partition key schema to append a random suffix to the partition keys, which implements write sharding and distributes the highly concentrated write load across multiple partition keys, thereby preventing write bottlenecks on a single hot partition.
Step-by-Step Solution
Key Concept
Mitigating DynamoDB partition write bottlenecks (hot keys) and improving read latency using in-memory caching (DAX).