
Answer-first summary for fast verification
Answer: Use Amazon ElastiCache in front of the database.
## Explanation **Correct Answer: A - Use Amazon ElastiCache in front of the database.** **Why this is the correct answer:** 1. **Problem Statement**: The issue is specifically with **database read performance**. Users experience long delays and interruptions due to read operations on the RDS MySQL database. 2. **Amazon ElastiCache Solution**: - ElastiCache is a fully managed in-memory caching service that can significantly improve read performance - It can cache frequently accessed data (like gaming scores) in memory, reducing the load on the RDS database - This directly addresses the **read performance** issue mentioned in the problem - Requires minimal architectural changes - just adding a caching layer 3. **Why other options are incorrect:** - **Option B (RDS Proxy)**: RDS Proxy helps with connection pooling and failover, but doesn't directly improve read performance. It's more for managing database connections efficiently. - **Option C (Migrate to Lambda)**: While Lambda can scale automatically, migrating the entire application would require significant architectural changes, which contradicts the requirement to "minimize changes to the application's architecture." - **Option D (Migrate to DynamoDB)**: Migrating from a relational database (MySQL) to a NoSQL database (DynamoDB) would require major application changes, schema redesign, and potentially different query patterns. 4. **Key Benefits of ElastiCache:** - **Performance**: In-memory caching provides sub-millisecond latency for read operations - **Scalability**: Can handle increased read traffic without affecting the primary database - **Minimal Changes**: Can be implemented as a caching layer with relatively small application modifications - **Cost-effective**: Reduces the need to scale up the RDS instance for read performance **Best Practice**: For read-heavy applications like gaming score displays, implementing a caching layer with Amazon ElastiCache (using Redis or Memcached) is a standard AWS best practice to improve performance while maintaining the existing architecture.
Author: LeetQuiz Editorial Team
Ultimate access to all questions.
No comments yet.
A gaming company has a web application that displays scores. The application runs on Amazon EC2 instances behind an Application Load Balancer. The application stores data in an Amazon RDS for MySQL database. Users are starting to experience long delays and interruptions that are caused by database read performance. The company wants to improve the user experience while minimizing changes to the application's architecture.
What should a solutions architect do to meet these requirements?
A
Use Amazon ElastiCache in front of the database.
B
Use RDS Proxy between the application and the database.
C
Migrate the application from EC2 instances to AWS Lambda.
D
Migrate the database from Amazon RDS for MySQL to Amazon DynamoDB.