在不久前结束的2023 DTC数据技术嘉年华中国数据库创新论坛上,GBASE南大通用8s产品经理郭茁老师分享了GBase 8s《基于数据复制技术的多写多读数据库集群解决方案》。
今天带大家一同回顾下本次演讲。
海量数据的存储和运算是目前行业内面临的一个重要问题,为此业界也提出了很多解决方法。此次GBase 8s提出“基于集中式高可用技术搭载数据复制技术”,探究突破传统集中式集群局限的可支持多读多写的集群整体解决方案。
集中式数据库
·计算集中、存储集中
·遵循ACID,强调事务处理性能和数据强一致性
·适用于事务密集型场景及行业核心交易系统
分布式数据库
·分布式计算、分布式存储
·遵循CAP,强调可用性和扩展性
·适用于数据密集型场景及大数据应用领域
分布式数据库相较集中式数据库在可用性方面具有天然优势,而集中式数据库又主要应用于行业核心交易场景,因此,既能突破传统集群技术瓶颈又保留强一致性等优势是集中式数据库需要重点关注的能力。
GBase 8s的数据复制技术GBase 8s Replication(GR)恰好为这一问题的解决提供了助力。
数据复制就是在一个或多个地点产生数据的多份拷贝,实现数据共享目的。
GBase 8s Replication(GR)是基于日志的异步工具,用于在GBase 8s数据库服务器之间复制数据。源服务器上的GR通过读取逻辑日志,存储事务并将每个事务作为复制数据可靠传输至目标服务器。
GR 复制数据分为三个阶段:数据捕获、数据传输和应用复制的数据。
1. 客户端应用程序在定义了复制的数据库中执行事务。
2. 该事务被写入逻辑日志。
3. 日志捕捉组件读取逻辑日志并将逻辑记录传递到分组组件。
4. 分组组件计算需要复制的逻辑日志,并将它们分组到描述原始事务的操作的消息中。
5. 分组组件将消息添加到发送队列。在特定情况下,发送队列将消息临时储存到磁盘上。
6. 发送队列通过 GR 网络将复制消息传输到目标服务器。
7. 复制消息被添加到目标服务器的接收队列中。
8. 数据同步组件将该事务应用到目标数据库。如果有必要的话,数据同步组件还会执行冲突解决。
9. 在确认队列中放置一条表示消息已成功应用的消息。
10. 将确认消息发送回到源服务器。
数据复制技术的优势
多写多读落地案例
山西省某运营商智能网
该项目于2017年上线,采用GBase 8s 复制集群技术,用于山西省某运营商的IVPN业务, 4节点GR集群。
客户价值
1. 实现了数据的实时复制
2. SQL平均时间小于5ms,远低于传统数据库的响应时间
3. 4个节点可以实现负载均衡,多节点写入多节点查询的功能
北京某商超集团
该项目于2017年上线,用于该商超集团的公司业务管理和门店结算业务。2018年上线了68节点的GR复制集群,用户门店和总部的数据进行实时交换和同步。
客户价值
1. GR复制的节点多达68个
2. 网络带宽2Mb/s,集群同步对带宽的要求不高
3. 门店和总部的数据库均是可写可读,并进行数据的实时同步
4. 如果网络异常,在网络故障恢复之后,积压的数据会自动同步到对端;
5. 如果主机或数据库异常,故障处理完毕之后,对端的数据也会自动的完成同步
某变电站监控系统
业务系统为变电站的监控系统,设备长期处于偏远地区,服务器的工作环境较差,维护人员的IT技能相对薄弱。用户希望数据库具备优秀的自维护能力。
客户价值
- 故障期间业务系统切换可以在1秒之内完成
- 故障恢复之后数据库中的数据可以自动追平,无需人工干预
- 数据库长期处于自动恢复的状态,不需要专职的DBA,客户只需要维护数据库服务器即可