Soru

Zorluk: OrtaImproving Database and Caching Efficiency

A corporate e-learning platform uses an Amazon RDS for PostgreSQL database to manage course metadata and track real-time user progress. During peak hours, the database experiences high CPU utilization due to frequent read queries for course catalogs and write-heavy updates for user session progress. A solutions architect must implement a caching layer to offload the read traffic and temporarily store session data. The session data requires high availability with automatic failover across Availability Zones, persistence to prevent progress loss, and support for sorting user leaderboard scores. Which caching strategy should the solutions architect implement to meet these requirements with minimal latency?

  1. A
    Deploy Amazon RDS Proxy to cache session data and handle leaderboard sorting within the proxy's connection pool.
  2. B
    Route read queries and session state updates to the standby replica of the Amazon RDS Multi-AZ deployment.
  3. Implement Amazon ElastiCache for Redis in a Multi-AZ replication group.Cevap
  4. D
    Implement Amazon ElastiCache for Memcached to cache both the course catalog and the session progress data.

Cevap

Implement Amazon ElastiCache for Redis in a Multi-AZ replication group.
Implementing Amazon ElastiCache for Redis in a Multi-AZ replication group is the correct approach because Redis natively supports data persistence, multi-AZ replication with failover, and complex data structures like sorted sets, which are required for user leaderboards.

Adım Adım Çözüm

1
Analyze the requirements for the session data cache.
The caching layer must support data persistence, high availability with automatic failover, and sorted sets for leaderboards.
These requirements dictate the choice of caching technology.
2
Evaluate ElastiCache for Memcached against the requirements.
Memcached is ruled out because it lacks persistence, multi-AZ replication, and support for advanced data structures like sorted sets.
Memcached is a simple, non-persistent key-value store.
3
Evaluate ElastiCache for Redis against the requirements.
Redis meets all requirements including Multi-AZ replication, automatic failover, persistence, and sorted sets.
Redis is a robust in-memory data store with advanced capabilities.

Anahtar Kavram

Distinguishing between Redis and Memcached caching capabilities for stateful and high-availability workloads.
Bu soruyu puanla