Amazon RDS添加多可用区域部署选择,提供2可读执行实例且加速写入和故障转移速度

AWS更新数据库服务Amazon RDS,在多可用区域(Multi-AZ)部署加入新选项,提供2个额外的可读备用执行实例,提升至2倍速交易提交延迟,并且使自动故障转移可在35秒内完成。

当前Amazon RDS提供两种方法来提高服务的可用性和性能,第一种是多可用区域,第二种则是可读执行实例。多可用区域提供高可用性和自动故障转移,Amazon RDS会在第二个可用区域中,创建数据库存储副本,并将资料从主要数据库同步复制到备用数据库执行实例,以实现高可用性。由主要数据库执行实例向应用程序提供服务,而备用数据库则随时做好准备,在发生故障时接管。

可读副本则是让应用程序可以跨多个数据库执行实例,扩展其读取操作,数据库引擎将资料异步复制到可读副本,而应用程序将写入请求发送到主要数据库,读取请求则可以跨可读数据库副本进行负载均衡,如果主要节点发生故障,AWS让用户手动将可读副本升为主要数据库。

AWS解释,这两种方法的用途都不同,多可用区域提供应用程序高可用性、持久性和自动故障转移,而可读副本则提供应用程序读取的可扩展性。但考虑到用户的应用程序,可能同时具有高可用性、自动故障转移和读取可扩展性的需求,因此AWS新推出具有两个可读备用执行实例的多可用区域部署选项。

具有两个可读备用执行实例的多可用区域部署选项,结合自动故障转移和可读副本,该部署选项目前适用MySQL和PostgreSQL数据库,AWS提到,该选项具有一个主要执行实例,和两个可读备用执行实例的数据库集群,其提供2倍速的交易提交延迟,并且能在35秒内完成自动故障转移。

当用户激活这个新的数据库集群部署选项时,Amazon RDS会在三个不同的可用区域,配置主要数据库和另外两个可读副本,并且进行监控,在主节点方式故障时,激活故障转移,如此用户就不需要在高可用性和可扩展性间做选择,多可用区域数据库集群可以同时兼顾两者。

新的部署选项和传统的多可用区域部署相比,拥有四个优点,除了使用配备NVMe SSD的M6gd和R6gd执行实例,提升写入操作速度之外,其使用Amazon EBS来存储资料和交易日志,新的多可用区域数据库集群执行实例,提供本地存储来存储交易日志,而且因为本地存储经优化,也带来低延迟和高IOPS的特性,写入操作会先写入到本地端存储交易日志,之后才会更新到数据库存储磁盘上永久存储。

而新的数据库集群部署的故障转移操作,会比传统多可用区域数据库执行实例更快,新的数据库集群创建的可读副本,为完整的数据库执行实例,因此在35秒内就可以完成故障转移,且在故障转移的情况下,系统将完全自动化提升一个新的主节点,并将旧的主节点重新配置为新的读取执行实例。

旧的多可用区域数据库执行实例会在存储层级,复制所有变更,但是在新的集群中,仅会复制交易日志,并且使用仲裁机制来确认至少有一个备用数据库已经确认更改,当其中一个第二数据库确认交易日志,已经写入到本地端磁盘,数据库交易便会提交同步操作完成资料同步。

用户可以搬迁现有RDS数据库到新的多可用区域数据库集群,借由拍摄资料快照,创建现有数据库执行实例存储层级的备份,便可以使用快照创建新的数据库集群。目前新的部署选项,仅先在美东、美西和欧洲地区提供。