Question

Difficulty: EasyImproving Database and Caching Efficiency

A logistics tracking company has a dashboard that displays real-time delivery status updates. The backend database is an Amazon RDS for PostgreSQL DB instance. During peak hours, the database experiences high CPU utilization due to a surge in read queries for tracking information. The tracking data changes frequently, but the dashboard can tolerate slightly stale data. The company wants to improve database efficiency, reduce read load on the primary DB instance, and ensure that cached tracking status updates are replicated across multiple Availability Zones for high availability. Which TWO options should a Solutions Architect recommend to meet these requirements? (Select TWO.)

  1. Create an Amazon RDS read replica and configure the dashboard application to route read queries to it.Answer
  2. Configure an Amazon ElastiCache for Redis cluster with replication enabled across multiple Availability Zones to cache read queries.Answer
  3. C
    Configure the application to route read queries to the standby instance of the existing Multi-AZ RDS deployment.
  4. D
    Deploy an Amazon ElastiCache for Memcached cluster to cache the tracking data and configure auto-replication across multiple Availability Zones.
  5. E
    Configure AWS Resource Access Manager (RAM) to share the database instance with external accounts to distribute the query load.

Answer

To improve database efficiency and reduce read load, create an Amazon RDS read replica for offloading read queries, and deploy an Amazon ElastiCache for Redis cluster with replication to cache queries with high availability.
To offload read traffic from the primary RDS PostgreSQL instance, creating an RDS read replica is the standard design pattern. For the caching layer, since the company requires high availability and replication across multiple Availability Zones, Amazon ElastiCache for Redis must be used because Amazon ElastiCache for Memcached does not support replication or multi-AZ clustering.

Step-by-Step Solution

1
Analyze the primary bottleneck and target requirements.
The bottleneck is read-heavy load on the primary RDS PostgreSQL DB instance. The solution must reduce this read load and cache data with multi-AZ replication support.
Identifying the read-heavy nature and replication needs helps filter the suitable AWS services.
2
Evaluate the read replica option.
RDS read replicas are designed to offload read traffic from the primary instance.
This directly reduces CPU utilization on the primary RDS instance.
3
Evaluate the caching solutions.
Amazon ElastiCache for Redis is selected because it supports replication and Multi-AZ, whereas Memcached does not.
This satisfies the requirement for a high-availability caching layer.

Key Concept

Offloading database reads using read replicas and high-availability caching with Amazon ElastiCache for Redis.
Rate this question