Question #1795
A company runs a social media application that retrieves user profile data from an Amazon RDS MySQL instance. With a surge in users, the application experiences increased latency during profile data fetches. Performance analysis shows that scaling the database isn't resolving the issue. A solutions architect needs to implement a solution that supports point-in-time recovery, cross-region replication, and delivers responses in under a millisecond.
What should the solutions architect recommend to address these requirements?
Migrate the database to Amazon Aurora with Multi-Region read replicas.
Migrate the database to Amazon DynamoDB with global tables.
Add an Amazon ElastiCache for Redis layer in front of the database.
Add an Amazon ElastiCache for Memcached layer in front of the database.
Explanation
The solution requires sub-millisecond responses, point-in-time recovery, and cross-region replication.
- Option C (ElastiCache for Redis) is correct because Redis provides in-memory caching (sub-millisecond responses), supports point-in-time recovery via snapshots, and cross-region replication via Global Datastore. It offloads read traffic from the RDS database, addressing latency without requiring database scaling.
- Option A (Aurora) offers cross-region read replicas and point-in-time recovery but may not guarantee sub-millisecond responses as effectively as caching.
- Option B (DynamoDB) meets the requirements but requires migrating the relational data to a NoSQL model, which is unnecessary if caching suffices.
- Option D (Memcached) lacks native support for cross-region replication and point-in-time recovery.
Key Points: Use ElastiCache for Redis to decouple read-heavy workloads, ensure low latency, and meet recovery/replication requirements without altering the existing database.
Answer
The correct answer is: C