GBASE南大通用技术分享:
一、需求背景
随着近几年数据的爆发式增长,海量数据的存储和运算成为各行业所面临的一个重要问题,这向传统集中式事务型数据库提出了更高的要求,多读多写的需求更加明显,主要体现在以下几个方面:
1、业务的发展壮大,数据库需要支撑更大规模的读写操作,更高的并发,而单一数据库很难满足需求;
2、对于一些关键业务系统,需要确保持续的高可用的数据库服务,单点故障会造成较大影响,需要引入备库或故障转移机制;
3、一些数据统计和报表场景会产生大量的读请求,会引起资源争抢,需要引入读写分离模型以提高数据库性能。
二、方案介绍
GBASE南大通用研发的GBase 8s Enterprise Replication(ER)是基于日志的异步工具,用于在GBase 8s Server数据库服务器之间复制数据。源服务器上的Enterprise Replication通过读取逻辑日志,存储事务并将每个事务作为复制数据可靠传输至目标服务器。基于这种灵活便捷的架构,我们可以实现从一个目标服务器到多个目标服务器的消息广播模式,或者多个源服务器到一个目标服务器的消息汇聚模式,无论是数据广播还是汇聚都属于数据单向复制,这种模式的优势为管理相对简单,没有数据冲突产生。
1、数据单向复制模式
消息广播
消息汇聚
甚至我们还可以根据实际业务结构,支持多服务器的双向数据复制达到各节点数据实时同步更新,任意点更新模式,创建点对点的应用环境,相对单向复制架构来说,该模式的优点在于可应对更为复杂的业务系统模型,可支持多读多写的业务需求;但是此模式也存在管理配置复杂,以及需考虑数据冲突问题。为了解决数据冲突问题,复制系统提前预制了大量的冲突侦测和解决策略方便客户结合实际业务进行选择和配置。
2、任意点更新模式
完全连接结构
层次树结构
森林树结构
3、方案特点
-
异步数据复制
各节点间数据复制任务在ER网络中自动进行,不需要互相等待数据提交。
-
基于日志的数据捕获
调用几乎不需要额外资源开销,不会加重源服务器的负担
-
高性能
充分利用系统可伸缩性、并行处理的体系结构,可同时并发处理多条数据复制
-
高可用
异步的复制,可以容忍网络和目标节点的故障,数据或存放在目标主机, 或回滚到源主机的发送队列; 一旦恢复正常,发生变化的数据被自动推送到异地节点
-
一致信息分发
在ER网络中源节点数据可以路由多个节点到达目标节点,分发过程中保证信息一致性
-
修复和初始数据同步
GR可以实现数据的全量同步,尤其是在已经运行了一段时间的生产环境中部署GR,且生产环境中还有数据一致在DML的情况下,可以通过使用GR的全量同步
-
灵活的体系结构
在复制的拓扑中,可以实现森林拓扑树的功能,数据从一个拓扑树的叶子节点,复制到另外一个拓扑树的叶子节点,中间可以经历若干NOROOT节点
-
集中管理
管理员可通过Windows NT 图形界面(GUI)或UNIX系统命令界面(CLU)两种方式来维护、管理复制系统上的节点、监控所有节点的运行状况
-
实施容易
可以通过8s图形化配置管理工具轻松完成多节点单向/双向的复制集群搭建
-
网络加密
可支持SSL加密传输