华为云GaussDB 同城双集群高可用方案,是GaussDB(for openGauss)提供的一种全新架构和部署方式的高可用技术。在已有的高可用方案中,多采用单集群多副本的模式进行跨AZ部署,无法做到故障隔离,类似于集群管理组件的故障或其他区域性的故障将导致整个集群服务不可用;对于传统的基于网络的日志同步方式,数据库主备节点间地理距离的增大将导致传输时延的大幅度增加,直接影响到生产服务的性能。同时,金融、银行业对数据安全有着较高的要求,需要最大限度地保证数据的安全性以及服务的可用性。因此,GaussDB提供了支持RPO=0的数据库同城双集群高可用方案,即主集群在出现故障的情况下,备集群还具备继续提供服务的能力,当发生自然或人为灾难时,保护数据并快速进行恢复,对数据丢失零容忍。
GaussDB同城双集群高可用方案总体描述
数据库的主、备集群分别部署在同城的两个不同的AZ内,支持集中式和分布式架构,主集群作为生产中心提供生产服务,备集群作为同城的热备中心,提供只读和故障切换的功能。主集群的Redo日志通过存储层数据复制技术同步到备集群的存储设备中,备集群的备节点从所在分片的存储设备中读取Redo日志并进行回放。当数据库主节点写入的日志同步到备集群的存储设备之后,主节点的事务才会被提交,从而确保了集群切换RPO=0的性能指标。存储设备采用了华为自研的OceanStor Dorado V6全闪存存储系统,具有远程并行复制数据的功能,提供端到端低时延、大吞吐量的稳定高性能能力。
除此以外,本方案有良好的扩展性,在同城双集群高可用方案的基础上,还可以和异地集群组成跨Region容灾,即增加一个异地的灾备中心,用于对同城双中心的数据备份,形成两地三中心的容灾解决方案。
同城双集群高可用方案融合了GaussDB数据库和共享存储设备,利用共享存储设备的性能和可靠性优势,实现跨集群的RPO=0的高可用架构,为GaussDB(for openGauss)提供了更丰富的企业级功能。
同城双集群高可用方案的分布式架构示意图
GaussDB同城双集群高可用方案核心优势
· 金融级高可用:支持RPO=0 、RTO<60s的同城双集群切换,保障业务的安全性和可靠性。当主集群发生故障时,备集群能够数据无损地快速完成切换,替代主集群继续提供生产服务。
· 高性能:第一,采用物理日志同步相对于逻辑日志同步性能可提升10倍;第二,通过Dorado存储硬件实现集群间日志的快速同步,利用Dorado固有网络协议(密集波分),降低网络时延一倍以上,同时利用Dorado存储的缓存能力,日志写入即刻持久化,降低了事务提交时延。
· 高可靠:数据安全实现双保险,一方面数据库内核的多副本保障了故障自动切换和恢复,不中断业务;另一方面,存储内核保障了磁盘亚健康、故障容错、硬件自愈等能力。
· 架构先进性:通过数据库内部计算与存储分离,将存储管理放到下层共享存储中,从而解决数据同步带来的延时问题,并同时增加了计算能力的横向扩展性。
· 集群隔离:数据库集群间解耦,故障域隔离从而避免全局性的网络故障和集群管理组件故障;集群间版本隔离,避免Bug污染,能够快速回切;集群间资源隔离,按照Region进行资源管理和调度,方便数据库管理员对数据库系统资源使用进行规范和约束。
同城双集群高可用方案进一步扩大了GaussDB的高可用能力,特别是针对性能和稳定性有更高要求的金融核心业务场景,提供了安全可靠的数据库服务,使数据库无惧灾难,为用户的生产业务保驾护航。
技术无止境,未来GaussDB(for openGauss)将对数据库高可用技术进行更智能、更安全、更高效的技术优化,为客户打造更领先、更优质的数据库服务。