SAA-C03 Question 109
Single answerA company is running a high-traffic e-commerce website that experiences unpredictable spikes in user activity during sales events. The backend consists of a relational database on Amazon RDS that is queried frequently for product details. To improve performance and reduce database load during these peak times, the company wants to implement a caching solution. Which approach should the company take?
- A
Use Amazon ElastiCache with Redis to cache frequently accessed product details.
- B
Enable read replicas for the Amazon RDS database to distribute read queries.
- C
Store product details in Amazon S3 and serve them directly to users.
- D
Use DynamoDB to replace the relational database and handle all product queries.
Show answer and explanation
Correct answer: A
Explanation
Caching is an effective strategy to reduce database load and improve application performance by storing frequently accessed data in a high-speed layer. Amazon ElastiCache with Redis is a managed caching service that can be used to cache the results of frequently executed queries, such as product details, reducing the need for the backend database to handle repetitive requests. This makes it the ideal solution for the given scenario.
- A. Correct.
This is the correct answer. Amazon ElastiCache with Redis is specifically designed for caching frequently accessed data, such as product details, to reduce database load and improve response times during high traffic periods.
- B. Incorrect.
This is incorrect. While read replicas can help distribute read queries, they do not provide the same performance improvements as a caching solution like ElastiCache, especially during sudden traffic spikes.
- C. Incorrect.
This is incorrect. While S3 is a good option for storing static assets, it is not designed for caching dynamic query results like product details from a relational database.
- D. Incorrect.
This is incorrect. Replacing the relational database with DynamoDB would require significant architectural changes and does not address the specific need for a caching solution to improve response times during spikes.