Relational engines, replicas, connections, and proxies
Diagnose relational CPU, I/O, read, write, replication-lag, and connection bottlenecks separately, then choose engine, read replicas, Aurora readers, storage capacity, or RDS Proxy for the measured constraint.
LESSON GOALS
By the end, you can
- Explain and apply how to select engine, capacity, replicas, and pooling for measured bottlenecks.
- Compare engine compatibility, replica/standby, and proxy/database capacity under explicit security, resilience, performance, operations, and cost constraints.
01
Diagnose before adding a database feature
Capture query latency by operation, writer and reader CPU, buffer-cache behavior, storage IOPS and throughput, locks, connection count and churn, read/write ratio, and replica lag tolerance. A slow database can be query-bound, write-contention-bound, I/O-bound, read-capacity-bound, or connection-bound. Each has a different remedy. Engine choice also begins with compatibility: SQL dialect, extensions, transaction isolation, tooling, licenses, and operator experience decide MySQL-compatible versus PostgreSQL-compatible or another supported engine.
Read replicas are asynchronous copies used to offload eligible reads. Route read-only traffic explicitly and accept that replicas can lag; they do not scale writes. Aurora readers share cluster storage and can serve through a reader endpoint, but writer bottlenecks remain writer bottlenecks. Tune queries and indexes before buying replicas when inefficient scans cause the load. Provision storage performance only after confirming I/O is the constrained path and that the instance can drive it.
02
Standby, reader, and proxy are different tools
A traditional RDS Multi-AZ DB instance uses a synchronous standby for availability and automatic failover; that standby is not a read-scaling target. Current Multi-AZ DB cluster modes have different readable-instance behavior, so always name the deployment. A read replica is asynchronous read capacity and can be promoted manually; it is not the same automatic HA contract. Aurora has its own cluster storage and replica/failover model. “Multi-AZ makes reads faster” is therefore unsafe without a named mode.
RDS Proxy pools and reuses supported database connections and can absorb connection churn from Lambda or bursty clients. It does not cache SQL results, add writer CPU, increase storage IOPS, or make a Single-AZ database Multi-AZ. Session behavior can pin connections and reduce pooling benefit, so validate the application. If connections saturate while CPU and I/O remain healthy, Proxy is plausible. If queries saturate CPU, pooling alone only rearranges the bottleneck.
03
Compose and validate the relational path
A read-heavy architecture may send writes to the writer endpoint and lag-tolerant reads to reader endpoints. Protect the database with bounded application pools or RDS Proxy, but keep transaction-critical reads on the writer when freshness requires it. Observe replica lag, reader CPU, writer locks, connections, failover, and application retry behavior. During failover, clients must resolve or reconnect through the documented endpoint behavior; a proxy can help connection continuity but does not remove transaction retry design.
Security requires private network placement where appropriate, TLS, managed credentials, least-privilege database access, and controlled secrets rotation. Resilience requires a named Multi-AZ deployment and backup plan. Performance requires query evidence and load testing. Operations include engine upgrade and replica monitoring. Cost comparison includes reader instances, proxy capacity, storage I/O, and operational effort. Do not add every feature: each layer must correspond to a measured constraint or recovery requirement.
Use a bottleneck matrix during load tests. Hold request mix constant, then watch writer CPU, read CPU, storage latency, lock waits, connection acquisition time, and replica lag as concurrency rises. A reader should lower writer read work without changing commit throughput; a proxy should flatten backend connection growth without lowering query CPU by itself. If either expected observation fails, reverse the feature choice instead of adding another layer. Apply separate database credentials for writer and read-only paths, rotate them through supported mechanisms, and ensure reports cannot accidentally issue writes. The cost baseline includes idle readers and proxy capacity as well as avoided writer scaling, so remove a layer whose measured constraint has disappeared.
DECISION TABLE
Compare the architecture constraints
| requirement | choose | because | reject |
|---|---|---|---|
| Read-only SQL saturates writer; lag is acceptable | Read replica or Aurora reader | It adds independent read capacity | Multi-AZ standby is primarily HA; Proxy does not execute reads |
| Connection churn exhausts DB; CPU and I/O are low | RDS Proxy | Pooling targets connection pressure | ElastiCache caches data; reader does not necessarily reduce churn |
| AZ failover for traditional RDS DB instance | RDS Multi-AZ | Synchronous standby and automatic failover fit | Read replica is asynchronous and manually promoted |
| Write locks saturate writer | Query/schema/write-path change or writer scaling | The writer is the measured bottleneck | Read replicas and Proxy do not scale writes |
GUIDED WORKED SCENARIO
Reason from the stated constraints
This is a guided example, not a question to memorise. The knowledge check uses new situations to test the same reasoning.
A Lambda API opens 4,000 connections during bursts. Read reports drive writer CPU to 85%, writes use 35%, and up to five seconds of report staleness is acceptable. The order write tier must survive AZ failure.
Requirements
- Preserve automatic AZ failover
- Keep transactional writes current
- Offload lag-tolerant reports
- Prevent connection storms without claiming extra database compute
Reasoning path
- Select a named Multi-AZ deployment for HA.
- Add readers and route only eligible report queries.
- Add RDS Proxy for supported connection pooling.
- Monitor lag, writer CPU, connections, and failover behavior separately.
Why it wins
- Readers target read CPU while Proxy targets connection pressure.
- The HA mechanism remains distinct from both performance tools.
Why the alternatives lose
It pools connections but does not add read execution capacity.
Becomes correct when: Connection churn is the only bottleneck and CPU, I/O, and reads are healthy.Its standby is not readable.
Becomes correct when: The named deployment is a Multi-AZ DB cluster with documented readable instances.Caching requires keys, TTL, invalidation, and stale policy not supplied for arbitrary SQL reports.
Becomes correct when: Queries are repeatable, cacheable, and correctness tolerates a defined TTL.ARCHITECTURE VISUAL · TEXT MODE
Inspect the model
A bottleneck matrix records writer CPU, reader CPU, lag, connections, locks, and I/O before and after replica or proxy changes.
saa-viz-service-choice-labKNOWLEDGE CHECK
Answer one question at a time
Pass every question to complete this lesson. Each answer includes reasoning before you continue.
CPU is low but connections are exhausted. First candidate?
Reveal reasoning
RDS Proxy or bounded pooling after checking engine and pinning support.
Why must an assessment name the RDS Multi-AZ deployment type?
Reveal reasoning
DB instance and DB cluster modes differ, including readable standby behavior.
Change one decisive constraint: Connection churn is the only measured bottleneck; database CPU, I/O latency, and read throughput remain healthy at peak. Which architecture now wins, and what observable result proves the reversal?
Reveal reasoning
The database-path winner reverses to RDS Proxy without added read replicas. The proof is: Peak testing shows lower database connection count with unchanged healthy CPU, I/O latency, and read throughput.
Before reveal in saa-viz-service-choice-lab, predict the first failed gate for the original relational engines, replicas, connections, and proxies case, then trace the observed branch and minimal repair.
Reveal reasoning
Commits to an outcome first, follows the visual gate order, separates routing or control state from business response, and repairs the earliest violated requirement.
PRIMARY SOURCES
Verify the claims
- primaryWhat is Amazon RDS?aws-db-rds · retrieved 2026-07-29
- primaryWhat is Amazon Aurora?aws-db-aurora · retrieved 2026-07-29
- primaryWorking with DB instance read replicasaws-rds-db-instance-read-replicas · retrieved 2026-07-30
- primaryConfiguring and managing a Multi-AZ deployment for Amazon RDSaws-rds-multi-az-deployments · retrieved 2026-07-30
- primaryAmazon RDS Proxyaws-rds-proxy · retrieved 2026-07-30
- primaryReplication with Amazon Auroraaws-aurora-replication · retrieved 2026-07-30