RDS Multi-AZ DB Instance vs DB Cluster
- RDS Multi-AZ deployments provide high availability and automatic failover support for DB instances
- Multi-AZ helps improve the durability and availability of a critical system, enhancing availability during planned system maintenance, DB instance failure, and Availability Zone disruption.
- A Multi-AZ DB instance deployment has one standby DB instance that provides failover support but doesn’t serve read traffic.
- A Multi-AZ DB cluster deployment has two standby DB instances that provide failover support and can also serve read traffic.
Instances & Availability Zones
- A Single AZ instance creates a single DB instance in any specified AZ.
- A Multi-AZ DB Instance deployment creates a Primary and a Standby instance in two different AZs
- A Multi-AZ DB Cluster deployment creates a Primary Writer and two Readable Standby instances in three different AZs
Replication Mode
- Multi-AZ DB instance deployment synchronously replicates the data from the primary DB instance to a standby instance in a different AZ.
- Multi-AZ DB cluster deployment semi-synchronously replicates data from the writer DB instance to both reader DB instances using the DB engine’s native replication capabilities.
Standby Instance can Accept Reads
- Multi-AZ DB instance deployment is a high-availability solution and the standby instance does not support requests.
- Multi-AZ DB cluster deployment provides readable standby instances to increase application read-throughput.
Commit Latency
- Single AZ instance has the lowest commit latency.
- Multi-AZ DB instance deployment has a high commit latency as compared to the Single AZ instance as the data needs to be synchronously replicated to the standby instance.
- Multi-AZ DB cluster deployment provides up to two thirds faster commits for commits compared to Multi-AZ DB instance as it performs semi-synchronous replication.
Automatic Failover & Failover Time
- Single AZ instances do not support automatic failover and failure would result in data loss. Use point-in-time recovery with backups to restore the database.
- Multi-AZ DB instance deployment performs an automatic failover to the standby instance, and the failover time can be up to 120 seconds based on the crash recovery.
- Multi-AZ DB cluster deployment performs an automatic failover to a reader DB instance in a different AZ, and the failover time can be up to 75 seconds depending on the replica lag.
Supported Engines
- Single AZ and Multi-AZ DB instance deployments support all DB engines
- Multi-AZ DB clusters are supported only for the MySQL and PostgreSQL DB engines.
Cost
- Single AZ is the most cost-effective option.
- Multi-AZ DB Instance deployment costs more than a Single AZ as it maintains a synchronous standby instance.
- Multi-AZ DB Cluster would be an expensive option as it creates 3 instances, supports specific instance classes that do not include burstable classes, and does not support general-purpose SSD volumes.
Use Cases
- Single AZ deployments are suitable for non-critical dev, test environments.
- Multi-AZ deployments are suitable for critical, production-based environments requiring high availability, data redundancy, and scalability for read workloads.
AWS Certification Exam Practice Questions
- Questions are collected from Internet and the answers are marked as per my knowledge and understanding (which might differ with yours).
- AWS services are updated everyday and both the answers and questions might be outdated soon, so research accordingly.
- AWS exam questions are not updated to keep up the pace with AWS updates, so even if the underlying feature has changed the question might not be updated
- Open to further feedback, discussion and correction.