What is the difference between RDS Multi-AZ and a read replica?
Multi-AZ keeps a synchronous standby copy in another AZ for automatic failover, improving availability. A read replica is an asynchronous copy that serves read traffic to scale performance and can be promoted if needed.
Explain it simply
Multi-AZ is a spare wicketkeeper sitting in the pavilion with the same kit, ready to step in the moment the keeper is injured, but he does not play until needed. A read replica is an extra fielder who actively takes catches, sharing the workload, but is a step behind the play.
Example
Multi-AZ Read replica
Purpose : availability, failover read scaling
Replication : synchronous asynchronous
Serves reads? : no (standby is hidden) yes, own endpoint
Failover : automatic, same endpoint manual promotion
Location : another AZ, same Region same or different Region
Data lag : none possible replication lagIn a Multi-AZ DB instance deployment, if the primary fails, RDS flips the DNS name to the standby, typically within a minute or two. Your app reconnects to the same endpoint.
A read replica gets its own endpoint, so the app must send read queries there, for example reports and dashboards. Because replication is asynchronous, a replica might return slightly old data.
Use both together for a production database that is busy and must stay up.
What to say in the interview
"Multi-AZ is for high availability with a synchronous standby and automatic failover. Read replicas are for scaling reads using asynchronous copies. They solve different problems, and a busy production database often uses both."
Common mistakes
- Sending read traffic to the Multi-AZ standby, which is not readable in a standard instance deployment.