Soru

Zorluk: OrtaImproving Database and Caching Efficiency

A digital telehealth platform retrieves patient medical histories from an Amazon RDS for PostgreSQL database. During peak consulting hours, database CPU utilization frequently exceeds 85%, primarily due to repetitive read queries retrieving static medical reports. The platform requires a caching layer to offload these read queries. The cache must support replication to prevent cold-start latency in case of a node failure, and it must offer automatic failover across multiple Availability Zones to ensure high availability. Which caching strategy should a solutions architect recommend to meet these requirements?

  1. A
    Deploy Amazon RDS Proxy in front of the database and enable query-result caching on the proxy layer.
  2. B
    Deploy an Amazon ElastiCache for Memcached cluster with nodes distributed across multiple Availability Zones to replicate the cached patient history.
  3. Deploy an Amazon ElastiCache for Redis cluster in a Multi-AZ replication group to cache the patient history query results.Cevap
  4. D
    Deploy an Amazon DynamoDB Accelerator (DAX) cluster in front of the RDS for PostgreSQL database to cache the query responses.

Cevap

Deploy an Amazon ElastiCache for Redis cluster in a Multi-AZ replication group to cache the patient history query results.
Deploying Amazon ElastiCache for Redis in a Multi-AZ replication group fulfills the performance and high availability requirements. Redis supports primary-replica replication and automatic failover. If the primary node fails, a replica is automatically promoted, ensuring the cache remains populated and preventing latency spikes due to database cold-starts.

Adım Adım Çözüm

1
Analyze the application caching and high availability requirements.
The target caching solution must support data replication (to prevent cold-starts on node failure) and automatic failover across multiple Availability Zones.
This establishes the technical criteria needed to filter out incompatible caching engines and services.
2
Compare ElastiCache engines (Redis vs. Memcached) against the requirements.
Redis supports replication and Multi-AZ failover, whereas Memcached operates on non-replicated partitioned nodes and lacks automatic failover.
Memcached is eliminated because a node failure would cause data loss, leading to a cache cold-start and database load spikes.
3
Evaluate the suitability of RDS Proxy and DynamoDB Accelerator (DAX).
RDS Proxy does not cache SQL query results, and DAX is incompatible with relational databases like RDS for PostgreSQL.
This eliminates options that are architecturally incorrect or unsupported for PostgreSQL databases.

Anahtar Kavram

Selecting the correct caching engine (Redis vs. Memcached) based on replication, high availability, and database compatibility requirements.
Tahmini Süre:1m 30s
Bu soruyu puanla