AWS - Amazon · 2020年12月21日

RDS multi-AZ Replica和Read Replica有什么区别?

这个问题……问的特别好!

我在官网上查到了这张表,我觉得足够说明问题:

Multi-AZ deployments Multi-Region deployments Read replicas
Main purpose is high availability Main purpose is disaster recovery and local performance Main purpose is scalability
Non-Aurora: synchronous replication; Aurora: asynchronous replication Asynchronous replication Asynchronous replication
Non-Aurora: only the primary instance is active; Aurora: all instances are active All regions are accessible and can be used for reads All read replicas are accessible and can be used for readscaling
Non-Aurora: automated backups are taken from standby; Aurora: automated backups are taken from shared storage layer Automated backups can be taken in each region No backups configured by default
Always span at least two Availability Zones within a single region Each region can have a Multi-AZ deployment Can be within an Availability Zone, Cross-AZ, or Cross-Region
Non-Aurora: database engine version upgrades happen on primary; Aurora: all instances are updated together Non-Aurora: database engine version upgrade is independent in each region; Aurora: all instances are updated together Non-Aurora: database engine version upgrade is independent from source instance; Aurora: all instances are updated together
Automatic failover to standby (non-Aurora) or read replica (Aurora) when a problem is detected Aurora allows promotion of a secondary region to be the master Can be manually promoted to a standalone database instance (non-Aurora) or to be the primary instance (Aurora)

从初衷来说,Multi-AZ的目的是高可用性,Multi-Region的目的是灾难恢复,而Read-Replica是扩展。

其他特别要说明的,是除了non-Aurora的Multi-AZ是同步备份外,其他各种,包括Read-Replica都是异步的。