Question

Difficulty: MediumImproving Database and Caching Efficiency

A logistics company operates a package tracking web application backed by an Amazon RDS for PostgreSQL DB instance. Users frequently query the status of their packages, resulting in high read latency and DB CPU utilization during peak delivery hours. The tracking data is read-heavy and must be retrieved with sub-millisecond latency. Additionally, the caching solution must support multi-AZ replication for high availability and data persistence to prevent cache-stampede issues after a cold start. Which solution should the Solutions Architect implement to improve database efficiency and meet these requirements?

  1. Deploy an Amazon ElastiCache for Redis cluster with Multi-AZ replication and persistence enabled.Answer
  2. B
    Deploy an Amazon ElastiCache for Memcached cluster with multi-node replication to ensure high availability and data durability.
  3. C
    Configure the Amazon RDS for PostgreSQL DB instance with a Multi-AZ deployment and route package status read queries to the standby replica.
  4. D
    Deploy an Amazon ElastiCache for Memcached cluster and configure scheduled snapshots to an Amazon S3 bucket to persist the cached data.

Answer

Deploy an Amazon ElastiCache for Redis cluster with Multi-AZ replication and persistence enabled.
Deploying an Amazon ElastiCache for Redis cluster with Multi-AZ replication and persistence enabled meets all requirements. Redis supports advanced features such as replication, automatic failover, and data persistence to disk or backups, which prevents cache-stampede issues after a restart.

Step-by-Step Solution

1
Identify database load characteristics and performance requirements.
High database CPU utilization and read latency due to frequent package status queries requiring sub-millisecond retrieval.
This establishes the need for an in-memory caching layer rather than direct database scaling.
2
Evaluate caching engine capabilities against persistence and availability needs.
ElastiCache for Redis supports Multi-AZ replication and persistence, whereas ElastiCache for Memcached supports neither replication nor data persistence.
This rules out Memcached-based solutions.
3
Verify RDS PostgreSQL Multi-AZ capabilities.
RDS PostgreSQL Multi-AZ standby instances are strictly passive and cannot serve read traffic.
This rules out routing read traffic to the standby instance.

Key Concept

Selecting the correct in-memory caching engine based on replication and persistence requirements.
Rate this question