BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Amazon RDS Introduces Readable Standby Instances in Multi-AZ Deployments

Amazon RDS Introduces Readable Standby Instances in Multi-AZ Deployments

This item in japanese

AWS has recently announced readable standby instances in Amazon RDS multi-AZ deployments. The new database cluster option provides high availability and durability for workloads requiring more read capacity and consistent transaction latency.

Introduced more than ten years after multi-AZ deployments for RDS, the new option in preview uses the database engine's native replication and relies on local NVMe SSD storage and R6gd/M6gd Graviton2 instances. The standby instances act as automatic failover targets and can serve read traffic to increase throughput, without adding read replica instances.

The new approach addresses one of the limitations of the traditional RDS multi-AZ deployment where the synchronously replicated standby instance cannot accept connections. Vijay Karumajji, database solutions architect at AWS, explains how readable standby instances work:

A Multi-AZ DB cluster consists of one primary and two readable standby read replicas in three different Availability Zones. The primary (writer) DB instance serves read and write operations, and performs all the data modifications. The standby (reader) DB instance acts as a failover target for the primary and also serves read traffic. So, applications can offload read traffic from the primary DB instance to reader DB instances to increase application read throughput (...) Acknowledgement from at least one reader DB instance is required for a change to be committed and applied.

Source: https://aws.amazon.com/blogs/database/readable-standby-instances-in-amazon-rds-multi-az-deployments-a-new-high-availability-option/

Similarly to Amazon Aurora, applications do not need to handle host names, load-balancing or rerouting connections, with the multi-AZ database cluster relying on an endpoint mechanism to abstract the connections: each cluster has a cluster (read/write) endpoint, a reader endpoint, and instance endpoints associated with each DB instance in a cluster. As the cluster has a writer instance and two reader instances in different availability zones, the VPC must have at least one subnet in three different zones.

Source: https://aws.amazon.com/blogs/database/readable-standby-instances-in-amazon-rds-multi-az-deployments-a-new-high-availability-option/

The multi-AZ DB cluster deployment is currently supported on MySQL 8.0.26 and PostgreSQL 13.4. In a Reddit thread, user oliverprt hopes other engines will follow soon:

Interesting if MariaDB is going to be supported.

while user jamsan920 highlights a currently missing feature:

Will existing clusters be able to convert across to this new architecture?

Multi-AZ deployments with readable standby instances are currently available in only three regions: North Virginia, Oregon and Ireland. The cheapest option with two readable standby instances is the db.m6gd.large, at 0.522 USD per hour on demand, significantly more expensive than the traditional multi-AZ deployment where a comparable db.m6g.large costs 0.304 USD per hour and smaller and cheaper instances are available.

A separate page describes the current limitations of multi-AZ DB clusters.

 

About the Author

Rate this Article

Adoption
Style

BT