
Answer-first summary for fast verification
Answer: Set up a DynamoDB Accelerator (DAX) cluster. Route all read requests through DAX.
## Explanation **Correct Answer: A** **Why Option A is correct:** 1. **DynamoDB Accelerator (DAX) is purpose-built for DynamoDB**: DAX is an in-memory cache specifically designed for DynamoDB that provides microsecond response times for eventually consistent read queries. 2. **Least operational overhead**: DAX is fully managed by AWS and requires minimal configuration. It automatically handles cache invalidation, scaling, and failover. Applications can use the same API calls as DynamoDB, requiring minimal code changes. 3. **Seamless integration**: DAX sits between your application and DynamoDB, and you can use the same DynamoDB API calls. When data is not in the cache, DAX automatically retrieves it from DynamoDB and caches it. **Why other options are incorrect:** **Option B (ElastiCache for Redis)**: While Redis is a powerful caching solution, it requires more operational overhead. You need to: - Write custom code to handle cache population and invalidation - Manage cache consistency with DynamoDB - Handle scaling and failover manually - Use different API calls than DynamoDB **Option C (ElastiCache for Memcached)**: Similar to Redis, Memcached requires custom implementation for cache management, consistency, and scaling. It's not purpose-built for DynamoDB. **Option D (DynamoDB Streams + Lambda + ElastiCache)**: This solution has the highest operational overhead because: - Requires setting up DynamoDB Streams - Requires writing and maintaining Lambda functions - Requires managing ElastiCache cluster - Needs to handle cache invalidation logic - Introduces eventual consistency delays **Key AWS Service Knowledge:** - **DAX**: Fully managed, in-memory cache for DynamoDB with microsecond latency - **ElastiCache**: Managed Redis or Memcached service, but requires custom implementation for DynamoDB caching - **DynamoDB Streams**: Captures time-ordered sequence of item-level modifications in a DynamoDB table **Best Practice**: When you need to reduce latency for DynamoDB reads with minimal operational overhead, DAX is the recommended solution as it's purpose-built for this specific use case.
Author: LeetQuiz Editorial Team
Ultimate access to all questions.
No comments yet.
A company's website handles millions of requests each day, and the number of requests continues to increase. A solutions architect needs to improve the response time of the web application. The solutions architect determines that the application needs to decrease latency when retrieving product details from the Amazon DynamoDB table.
Which solution will meet these requirements with the LEAST amount of operational overhead?
A
Set up a DynamoDB Accelerator (DAX) cluster. Route all read requests through DAX.
B
Set up Amazon ElastiCache for Redis between the DynamoDB table and the web application. Route all read requests through Redis.
C
Set up Amazon ElastiCache for Memcached between the DynamoDB table and the web application. Route all read requests through Memcached.
D
Set up Amazon DynamoDB Streams on the table, and have AWS Lambda read from the table and populate Amazon ElastiCache. Route all read requests through ElastiCache.