G术时刻 |GBase 8a数据库双活容灾方案解析之同步原理(三)

0 阅读2分钟

南大通用GBase 8a数据库(gbase database)基于列存引擎与分片同步机制,构建了完整的双活容灾方案。核心同步工具GVR依托sync_client+sync_server组件,实现主备集群间增量数据毫秒级同步,点对点速度达450MB/s,支持同城双活、异地容灾、读写分离等场景。

通过元数据快照优化,同步期间主集群业务读写几乎不受影响。目前方案已在国内某国有大行落地40+套双活集群,为主仓及重要集市提供“热备”级灾备保障,RPO趋近于零,RTO分钟级。

​前置条件

基于上述同步原理,可以看到 GBase 集群间同步依赖于 sync_client+sync_server 进行分片表对分片表的同步,因此要求集群两侧 sync_client+sync_server 版本相同,分片数相同。

带来以下集群部署的前置条件:

  • 主备集群大版本相同,小版本号在 sync_client/server 无变动的前提下可以不同

  • 主备集群为同构集群,即主备分片数相同。允许主备集群节点数为倍数关系。

  • 主备集群之间网络通畅。网络带宽影响同步速度。

  • 主备集群的被同步表至少有一组可用分片用于同步。

  • 主备集群的安装路径需相同

高可用性

image.png

GBase 8a 提供高可用性:

  • 分片可以选择一主一备或者一主两备,只要有一组可用分片即可进行同步。默认推荐模式下,先同步主分片,主分片同步完成后,备集群内部进行主备分片同步。
  • 主分片若同步失败,利用备集群的备分片进行回退;主分片全部同步成功,备分片同步过程中失败,利用 datastate 上标记,备集群内部异步同步。