南大通用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 无变动的前提下可以不同
-
主备集群为同构集群,即主备分片数相同。允许主备集群节点数为倍数关系。
-
主备集群之间网络通畅。网络带宽影响同步速度。
-
主备集群的被同步表至少有一组可用分片用于同步。
-
主备集群的安装路径需相同
高可用性
GBase 8a 提供高可用性:
- 分片可以选择一主一备或者一主两备,只要有一组可用分片即可进行同步。默认推荐模式下,先同步主分片,主分片同步完成后,备集群内部进行主备分片同步。
- 主分片若同步失败,利用备集群的备分片进行回退;主分片全部同步成功,备分片同步过程中失败,利用 datastate 上标记,备集群内部异步同步。