Soru

Zorluk: OrtaPerformance and Scalability Optimization

A company is designing a new cloud-native application that requires a relational database. The database must support high availability across multiple Availability Zones with a Recovery Point Objective (RPO) of 00. The application will generate sudden, unpredictable bursts of complex read queries, scaling from 100100 queries per second to over 10,00010,000 queries per second, which could saturate the database CPU. The solutions architect needs to design the database tier to handle these scaling spikes without affecting write performance or availability. Which database design meets these requirements?

  1. A
    Use Amazon RDS for PostgreSQL in a Multi-AZ deployment. Configure the application to route read queries to the standby DB instance in the secondary Availability Zone during high-traffic events to offload the primary DB instance.
  2. B
    Use Amazon RDS for PostgreSQL in a Multi-AZ deployment. Configure Amazon RDS Proxy to dynamically scale the standby DB instance vertically to a larger instance class during query spikes.
  3. Use Amazon Aurora PostgreSQL. Configure Aurora Auto Scaling to dynamically adjust the number of Aurora Replicas based on target CPU utilization, and configure the application to use the reader endpoint for read queries.Cevap
  4. D
    Use Amazon RDS for PostgreSQL with Read Replicas. Configure the application to route all database traffic to the primary DB instance, relying on the Multi-AZ standby instance to automatically intercept and process read queries when the primary DB instance's CPU utilization exceeds 70%70\%.

Cevap

Use Amazon Aurora PostgreSQL with Aurora Auto Scaling to scale Aurora Replicas dynamically and route read queries to the reader endpoint.
The correct design uses Amazon Aurora PostgreSQL with Aurora Replicas and Aurora Auto Scaling. In Aurora, the storage volume is shared and replicated synchronously across three Availability Zones, ensuring an RPO of 00. Aurora Replicas share the same storage volume as the primary writer and can be scaled dynamically using Auto Scaling policies based on CPU utilization. Routing read queries to the reader endpoint load-balances the queries across the replicas, preventing CPU saturation on the primary instance.

Adım Adım Çözüm

1
Analyze high availability and RPO requirements
Amazon Aurora and Amazon RDS Multi-AZ both replicate data across multiple Availability Zones. However, Aurora's shared storage architecture replicates data synchronously across 33 Availability Zones, satisfying the RPO of 00 requirement.
Establishing the storage replication foundation ensures zero data loss during failover.
2
Evaluate read scaling options
Amazon RDS Multi-AZ deployments use a passive standby that cannot serve read traffic. Amazon Aurora supports active Aurora Replicas that share the same underlying storage volume and can serve read traffic with minimal replication lag.
Determining which database architecture can offload read queries from the primary writer node is necessary to prevent CPU saturation.
3
Select dynamic scaling and routing mechanism
Aurora Auto Scaling can add or remove Aurora Replicas based on target CPU utilization metrics. The application connects to the reader endpoint, which load-balances incoming read queries across the active replica pool.
Configuring automatic scaling and a reader endpoint satisfies the performance and scalability optimization requirement.

Anahtar Kavram

Scaling read-heavy database workloads using Amazon Aurora Replicas and Aurora Auto Scaling
Bu soruyu puanla