AWS Relational DB model
Architecture & AZs spanned
Storage
Scalability & Failover
RDS Single-AZ
One single DB instance in one AZ
EBS
- No scalability
No automatic failover | | RDS Multi-AZ instance | One primary instance and one standby replica in a different AZ (2 AZs spanned) | Each instance has its own EBS volume | - No scalability
Automatic failover: standby becomes primary (60-120s) | | RDS Multi-AZ cluster | - 1 writer instance & 2 reader replicas
3 AZs spanned | - Each instance has its own EBS volume
Transaction logs
Local storage flushed to EBS (faster performance) | - Read scalability
Automatic failover: one reader can become the primary writer (~30s + transaction log apply time) | | Aurora Provisioned | - 1 R/W instance + 0-15 read replicas
Multiple AZs spanned, depending on replicas | - No local storage
SSD-based cluster volume shared by all instances
Volume has 6 storage nodes spread across 3 AZs | - Read scalability (the more read replicas, the higher it is)
Automatic failover: a replica replaces the R/W instance (super fast because of shared storage) | | Aurora Serverless | - No provisioned DB instances
Customer sets MIN and MAX capacity, measured in ACUs
ACUs accessed via Proxy Fleet | - Same as Aurora Provisioned
Cluster volume accessed by ACUs, not DB instances | - Easy and fluid scalability (ACUs accommodate DB load)
No provisioned DB instances → no concept of failover (Failovers completely abstracted from clients) |