Question

Difficulty: MediumImproving Database and Caching Efficiency

A retail company operates an e-commerce platform that experiences significant performance degradation during promotional flash sales. The application relies on an Amazon Aurora MySQL database cluster to store both the product catalog and customer shopping sessions. During peak events, database CPU utilization reaches 95%95\%, resulting in transaction failures and slow response times. The product catalog data is read-heavy and updated infrequently, while the shopping session data requires high-throughput writes, persistence, and replication across multiple Availability Zones to ensure session recovery in the event of an outage. Which TWO architectural modifications should a Solutions Architect recommend to resolve the database bottleneck while meeting the requirements? (Select TWO.)

  1. Migrate the shopping session data to an Amazon ElastiCache for Redis replication group with Multi-AZ enabled.Answer
  2. B
    Migrate the shopping session data to an Amazon ElastiCache for Memcached cluster to leverage its high-throughput write capabilities.
  3. Implement an Amazon ElastiCache for Redis cluster with replication to cache product catalog read queries.Answer
  4. D
    Implement an Amazon ElastiCache for Memcached cluster to cache product catalog read queries and configure replication across two Availability Zones.
  5. E
    Configure Amazon Aurora Auto Scaling to dynamically add read replicas, and configure the application to write session data directly to the read replicas.

Answer

Migrate the shopping session data to an Amazon ElastiCache for Redis replication group with Multi-AZ enabled, and implement an Amazon ElastiCache for Redis cluster with replication to cache product catalog read queries.
The correct approach involves migrating the write-heavy, persistent session data to an Amazon ElastiCache for Redis replication group, which supports replication, persistence, and Multi-AZ failover. Simultaneously, implementing an Amazon ElastiCache for Redis cluster with replication to cache the read-heavy product catalog reads offloads read traffic from the Aurora cluster, providing sub-millisecond latency and preventing a database query stampede if a cache node fails.

Step-by-Step Solution

1
Analyze the access patterns and durability requirements for both datasets.
Product catalog is read-heavy and static; shopping session is write-heavy and requires persistence and Multi-AZ replication.
This determines the caching or database architecture suitable for each.
2
Evaluate ElastiCache engines for the shopping sessions.
ElastiCache for Redis is selected because it supports persistence, replication, and Multi-AZ. Memcached is rejected as it lacks replication and persistence.
Session recovery requires data replication and durability.
3
Evaluate offloading strategies for the read-heavy product catalog.
Cache catalog queries in ElastiCache for Redis with replication to handle spikes and prevent node-failure database stampedes.
Redis replication ensures high availability for the cache layer under heavy read loads.

Key Concept

Distinguishing between Redis and Memcached caching engines based on replication, persistence, and session state requirements.
Rate this question