A healthcare scheduling application stores doctor availability and booking details in an Amazon RDS for MySQL Multi-AZ DB instance. During peak morning hours, the system experiences a massive spike in read traffic from patients searching for open appointments, which drives the database's CPU utilization to 100% and causes query timeout errors. Write requests for booking appointments are low but require strict data consistency. Which two actions should a solutions architect take to resolve the database performance degradation?
- Deploy Amazon RDS Read Replicas and configure the application to direct read-only queries to the read replica endpoints.Answer
- Create an Amazon ElastiCache for Redis cluster to cache frequently queried doctor availability schedules.Answer
- CConfigure the application to route read-only queries directly to the endpoint of the standby DB instance in the Multi-AZ deployment.
- DMigrate the booking table to Amazon DynamoDB using a partition key with monotonically increasing sequential IDs.
Answer
Deploy Amazon RDS Read Replicas to offload read-only traffic, and create an Amazon ElastiCache for Redis cluster to cache doctor availability schedules.
Deploying read replicas offloads read traffic from the primary database, while caching frequently read database queries using an ElastiCache Redis cluster reduces the total number of reads hitting the database entirely.
Step-by-Step Solution
Key Concept
Scaling read capacity using RDS Read Replicas and offloading database queries via ElastiCache caching.