A developer is building a high-traffic e-commerce application that stores product catalog data in an Amazon DynamoDB table. The application experiences frequent spikes in read requests for a few highly popular products, causing a ProvisionedThroughputExceededException even though the total read capacity of the table is within limits. The product details are read-intensive and updated infrequently. The developer wants to resolve the throttling issues and reduce read latency to sub-millisecond levels with minimal code changes. Which solution should the developer implement?
- Deploy an Amazon DynamoDB Accelerator (DAX) cluster and update the application to use the DAX SDK client.Answer
- BScale up the provisioned Read Capacity Units (RCUs) on the DynamoDB table to accommodate the read spikes.
- CDeploy an Amazon ElastiCache for Memcached cluster and configure the application to perform a nightly DynamoDB Scan operation to load the products into the cache.
- DStore the product catalog details as parameters in AWS Systems Manager Parameter Store and enable Parameter Store caching.
Answer
Deploy an Amazon DynamoDB Accelerator (DAX) cluster and update the application to use the DAX SDK client.
Deploying an Amazon DynamoDB Accelerator (DAX) cluster and updating the application to use the DAX SDK client is the correct solution. DAX provides seamless, API-compatible, sub-millisecond in-memory caching that intercepts requests to DynamoDB, protecting the table from hot key read spikes and avoiding ProvisionedThroughputExceededException errors without requiring changes to the core application query logic.
Step-by-Step Solution
Key Concept
Mitigating DynamoDB hot partition throttling and reducing read latency using DynamoDB Accelerator (DAX)
Estimated Time:1m 30s