DatabasesAWS-04 · theory

Source · AWS SAA-C03 Exam Guide + AWS Database documentation

Why this matters

SAA-C03 Exam Guide, Domains 1 & 2

Database questions test whether you can separate two goals the exam deliberately blurs: availability (survive a failure) and scalability (handle more read/write load). Choosing the wrong feature for the wrong goal is the classic trap.

Every real architecture has a database, so this domain touches resilience, performance, and cost simultaneously.

The concept

AWS RDS and DynamoDB documentation

Amazon RDS runs managed relational engines. Two features look similar but solve different problems. Multi-AZ maintains a synchronous standby in another AZ for high availability — on failure it fails over automatically; the standby does not serve reads. Read replicas are asynchronous copies used to scale read traffic (and can span regions), but they are not automatic failover targets.

Amazon Aurora is AWS's cloud-native relational engine (MySQL/PostgreSQL-compatible) with a shared storage layer replicated 6 ways across 3 AZs, faster failover, and up to 15 low-latency read replicas.

DynamoDB is a fully managed, serverless NoSQL key-value/document store with single-digit-millisecond latency at any scale. ElastiCache (Redis/Memcached) is an in-memory cache that fronts a database to absorb hot reads and reduce latency.

Worked scenario

AWS RDS Multi-AZ and Read Replica docs

A relational app experiences read-heavy reporting queries that slow down the primary. The exam asks how to scale reads without hurting writes.

The answer is read replicas — offload the reporting queries to replicas so the primary handles writes. If instead the requirement were "survive an AZ failure with automatic failover," the answer would be Multi-AZ, which does not help with read scaling.

Now a different need: a shopping-cart service requiring millisecond latency, massive scale, and a flexible schema. That points to DynamoDB, not RDS. And if repeated identical queries are hammering the database, put ElastiCache in front to serve them from memory.

How it connects

AWS Well-Architected Framework

Databases live inside your VPC and are protected by security groups — the app tier's SG is typically the DB SG's source. Encryption at rest (KMS) and in transit ties into the security domain.

Cost-wise, DynamoDB's on-demand vs provisioned capacity and RDS Reserved Instances are common optimization levers. And caching with ElastiCache is both a performance and a cost play, since it reduces expensive database load.

Common traps
  • Multi-AZ = availability/failover, NOT read scaling; read replicas = read scaling, NOT automatic failover.
  • RDS Multi-AZ standby does not serve read traffic — you cannot query it.
  • DynamoDB is NoSQL — don't pick it when the scenario needs relational joins/transactions across tables.
Key takeaways
  • Multi-AZ for HA/failover; read replicas for read scaling.
  • DynamoDB for serverless NoSQL at massive scale; Aurora for cloud-native relational.
  • ElastiCache fronts a DB to absorb hot reads and cut latency and cost.