Question

Difficulty: MediumImproving Database and Caching Efficiency

A collaborative software-as-a-service (SaaS) platform hosts its workspace configuration data and active user session privileges on an Amazon RDS for MySQL DB instance. During core business hours, database CPU utilization reaches 92% due to a high volume of read-heavy queries that retrieve authorization metadata. To mitigate this bottleneck, a solutions architect must implement a caching layer. The cached session data must remain highly available, replicate across multiple Availability Zones, and survive cache node failures. Which solution meets these requirements?

  1. Deploy an Amazon ElastiCache for Redis replication group with Multi-AZ and automatic failover enabled.Answer
  2. B
    Deploy an Amazon ElastiCache for Memcached cluster with nodes distributed across multiple Availability Zones.
  3. C
    Enable Multi-AZ on the existing Amazon RDS for MySQL DB instance and route the read-heavy metadata queries to the standby replica.
  4. D
    Deploy an Amazon DynamoDB Accelerator (DAX) cluster to cache queries from the relational database tables.

Answer

Deploy an Amazon ElastiCache for Redis replication group with Multi-AZ and automatic failover enabled.
The correct solution uses Amazon ElastiCache for Redis with Multi-AZ and automatic failover enabled. Redis is the appropriate caching engine because it supports data replication across multiple Availability Zones, persistent data storage, and automated failover in the event of a primary node outage, ensuring the session data remains durable and highly available.

Step-by-Step Solution

1
Analyze the technical requirements of the caching layer.
The requirements demand high availability, multi-AZ replication, and the ability to survive node failures without data loss.
This establishes the criteria for selecting the appropriate caching engine and configuration.
2
Evaluate Amazon ElastiCache engine capabilities against requirements.
ElastiCache for Redis supports replication, multi-AZ with automatic failover, and data persistence. ElastiCache for Memcached lacks replication, auto-failover, and persistence.
Choosing the correct engine ensures compliance with high availability and data durability requirements.
3
Compare against database scaling alternatives.
RDS Multi-AZ standbys cannot serve read traffic, and DynamoDB Accelerator (DAX) is incompatible with RDS MySQL.
This rules out non-viable architectural configurations that fail to offload read traffic from the primary RDS instance.

Key Concept

Selecting and configuring ElastiCache engines based on replication and durability requirements
Estimated Time:2m 0s
Rate this question