Q33 — AWS SAA-C03 Ch.10
Question 33 of 100 | ← Chapter 10
Q633. 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.
Correct Answer: A. Set up a DynamoDB Accelerator (DAX) cluster. Route all read requests through DAX.
Explanation
To decrease the latency when retrieving product details from an Amazon DynamoDB table while minimizing operational overhead, the most suitable solution would be:A. Set up a DynamoDB Accelerator (DAX) cluster. Route all read requests through DAX. Option A leverages DynamoDB Accelerator (DAX), which is a fully managed, highly available, and in- memory cache for DynamoDB. Here's how it addresses the requirements:\1. DynamoDB Accelerator (DAX): DAX is specifically designed to improve the performance of read- intensive workloads on DynamoDB. It provides an in-memory cache that reduces the response time and decreases the latency of read requests from DynamoDB.\2. Route read requests through DAX: By routing all read requests through DAX, the frequently accessed product details can be cached in memory. Subsequent read requests for the same data can be served directly from the DAX cache, significantly reducing the latency compared to querying the DynamoDB table directly.Option B is not the best choice:B. Setting up Amazon ElastiCache for Redis between the DynamoDB table and the web application and routing read requests through Redis would introduce additional operational overhead. It requires managing and maintaining the Redis cluster, configuring data synchronization between DynamoDB and Redis, and managing the caching logic in the application.Option C is not the best choice either:C. Setting up Amazon ElastiCache for Memcached between the DynamoDB table and the web application and routing read requests through Memcached would also introduce additional operational overhead. It requires managing and maintaining the Memcached cluster, configuring data synchronization between DynamoDB and Memcached, and managing the caching logic in the application.Option D is not the best choice either:D. Setting up Amazon DynamoDB Streams on the table, having AWS Lambda read from the table, and populating Amazon ElastiCache would introduce additional complexity and operational overhead. It requires configuring and managing the DynamoDB Streams, developing and maintaining the Lambda function, and managing the data synchronization between DynamoDB and ElastiCache. Therefore, the most suitable solution that meets the requirements with the least operational overhead is to set up a DynamoDB Accelerator (DAX) cluster and route all read requests through DAX (option A).