SAA-C03 Question 490
Single answerA company is running an e-commerce application on AWS. The application experiences high read traffic for product details, which rarely change. To improve performance and reduce database load, you have been tasked with implementing a caching solution. Which approach would be the MOST cost-effective and reliable for this use case?
- A
Use Amazon ElastiCache with a Redis cluster to cache product details.
- B
Use Amazon DynamoDB Accelerator (DAX) to cache product details.
- C
Enable caching at the application layer by writing custom caching logic in the backend code.
- D
Use Amazon S3 to store precomputed product details and serve them directly to users.
Show answer and explanation
Correct answer: A
Explanation
The best caching strategy for this scenario is to use Amazon ElastiCache with a Redis cluster, as it provides a fast, in-memory data store that can handle high read traffic while reducing the load on the backend database. This option is cost-effective and reliable, aligning with the company's need to optimize performance for read-heavy queries. Other options either require specific conditions (like DynamoDB for DAX), involve unnecessary complexity (custom application caching), or are unsuitable for the use case (S3 for dynamic data).
- A. Correct.
This is the correct answer. Amazon ElastiCache with a Redis cluster is designed for high-performance, in-memory caching and is commonly used to cache database query results for read-heavy workloads. It is cost-effective and highly reliable for this scenario.
- B. Incorrect.
DynamoDB Accelerator (DAX) is relevant only if the product details are stored in Amazon DynamoDB. Since the question does not specify the use of DynamoDB and refers to a general database, DAX is not the appropriate solution here.
- C. Incorrect.
While enabling caching at the application layer is possible, it would require significant custom development effort and maintenance, which is not as cost-effective or reliable as using a managed service like ElastiCache.
- D. Incorrect.
Amazon S3 is suitable for storing static assets but is not designed for caching dynamic data like product details. This approach would not provide the necessary low-latency performance expected from a caching solution.