数据库系统作为企业IT基础设施中的重要组件,其稳定性与可用性是上层系统运行的必要基础。并且随着数字化发展,大量的核心业务对于城市级别容灾提出了更高的要求。作为一款分布式数据库,GBase 8c可轻松实现例如两地三中心架构的集群异地灾备。GBase 8c异地灾备集群间的不同节点采用各自对应的高可用部署方式,两地间采用同步或者异步复制的备份方式。可以抵御硬件级别故障、机房级别和城市级别灾难,两地之间距离可以大于1000千米。
除此之外,GBase 8c还支持多集群部署,集群间进行数据双向同步来提供异地多活的架构,以满足对高可用有严苛要求的业务需求。GBase 8c实现异地多活的关键,则是其中的数据同步机制,而CDC正是实现数据同步机制的核心技术。
下面将主要介绍GBase 8c数据库中CDC技术的架构及其实现原理。
GBase 8c中的CDC (Change Data Capture) ,中文名称为变更数据捕获,是一种通过解析GBase 8c的WAL增量日志,获取表级别的所有数据变化,并将其转换为可以复制到同构或者异构系统格式的机制。
作为一款多模多态分布式数据库,GBase 8c的CDC实现机制及执行流程上可分为主备式及分布式两大类:
主备式
基于逻辑复制的发布订阅功能是实现CDC技术的核心机制,在GBase 8c的主备式架构中,数据同步的发布订阅主要执行流程如下:<