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

0 阅读1分钟

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

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

分片表同步流程

image.png

  • sync_client 通过 5288 服务端的端口建立连接

  • sync_client 发送要同步的分片表

  • sync_server 定位该表元数据信息

  • sync_server 返回该表的部分元数据信息

  • sync_client 本地比对该表的元数据信息

  • sync_client 发送差异 DC List

  • sync_server 返回差异 DC 数据

  • sync_server 返回该表元数据文件

  • sync_client 覆盖差异 DC 数据,覆盖元数据信息

整表同步流程

image.png

GBase 8a 是一个分布式集群,一张表可能有若干个分片,所以同步整个表的时候,就会涉及到多个分片表的同步。