漫话GBase 8s企业数据复制技术
1 引言
随着企业业务系统服务的不可停机性和挖掘企业数据价值的手段或工具越来越完善,越来越多的用户非常关注其数据库系统的高可用性和灾备功能,利用GBase 8s的SSC(共享存储集群)技术作为其生产系统的高可用解决方案,利用HAC(非共享存储集群)技术建立其生产系统的同城灾备中心,利用R-HAC(远程非共享存储集群)技术搭建其生产系统的远程灾备中心,从而形成比较经济的、易用的两地三中心的解决方案。今天我们要谈的不是数据库实例级别的高可用和灾备,但又是与之相关的GBase 8s另一重要技术ER–企业数据复制;ER在规划数据高可用或数据共享粒度上更细、更精准,定义更加灵活、使用一样方便。
为什么要称作企业数据复制ER而不是别的?那是与此技术特点有关。在企业级大系统中,此功能可按照业务需要随时随地进行数据复制;ER企业数据复制可以发生在不同操作系统平台之间,比如不同品牌、不同版本Linux、Unix之间、不同版本Windows之间或这3类操作系统之间,可充分利用现有不同软硬件平台资源,共享不同系统中需要共享的数据。ER企业数据复制是基于表一级的,它可以是整个表数据或按某条件限定的部分数据,复制粒度按业务需求决定。ER企业数据复制对源数据所在系统的性能影响是非常小的(与ER工作原理相关),大约不会超过5%。
2 ER企业数据复制的形式及应用案例
ER企业数据复制的形式有以下3种:
2.1 数据发布(Dissemination)
源数据的产生地把源数据复制到需要的各目的地。比如连锁超市集团,各门店的商品价格是全市或全省或全国统一的,商品价格是由上级管理机构根据市场行情制定的,当要对某些商品进行定价、调价时,上级管理机构就会通过集团的中心数据库对相关商品进行定价或调价,然后通过ER技术把这些商品的价格发布到下属的各门市点。
2.2 数据整合(Consolidation)
各源数据发生地把源数据复制到同一目的地进行汇总。比如某集团公司,下属各公司在每天或每月或每季完成其任务后,需要把完成结果上报给上级单位,经营结果就可以通过ER技术及时地进行上报,上级单位收到上报数据后进行汇总、分析,以为下级单位的进一步工作提出指导意见。
利用GBase 8s ER企业数据复制技术实现相关业务工作有如下2个非常典型的实用案例。一个是某大型超市有70个营业网点,过去总公司与70个网点的数据同步是由程序开发人员通过编程来完成的,使用和维护起来都非常不方便。当这家大型超市使用了GBase 8s后,通过ER企业数据复制技术来完成数据同步的业务要求,定义数据复制成为一项非常简单的工作,维护工作也几乎没有,相关业务数据按照业务要求及时地在不同系统中进行复制、同步,非常好地满足了用户的业务要求。下面是用户业务系统的架构图:
另一案例是电信用户在其2套重要业务系统上使用GBase 8s的HAC技术实现了系统的高可用,2套系统还有一些重要数据需要共享,而ER技术轻松地实现了用户这方面的要求,下面是用户业务系统的架构图:
2.3负载分布(Workload Partitioning)
类似于业务系统的分库分表:区域系统只处理所管辖区域的数据,然后复制本区域数据到其它区域系统,每个区域系统有整个系统的完整数据;在正常情况下,各区域系统只处理本区域的数据,形成多活;当某区域系统发生故障无法使用时,按照事先定义好的接管规则,某一其它区域系统接管故障区域系统业务。例如,某集团企业,在全国设有3个业务中心,各业务中心在正常情况下只处理所管辖区域的业务,形成3活业务系统,同时各业务中心通过ER企业数据复制技术把本中心的业务数据及时复制到其它2个业务中心;系统架构如下图:
国内某银行曾用ER企业数据复制技术搭建其信用卡两地双活的系统架构,两地是上海和广州,分属于两地的金卡用户分别由本地GBase 8s系统进行管理,涉及到此信用卡业务的表几十张,业务要求2地数据同步延时不超过1分钟即可,用户业务系统架构图如下:
3 ER企业数据复制的原理及特点
下面简单介绍一下ER企业数据复制的原理和特点:
3.1 原理
用户在数据库一张表上定义一个数据复制规则(或全表、或部分记录(按where查询条件)或部分字段(select 部分字段)或部分记录中的部分字段)
通过日志捕获把读取到的定义了数据复制表的逻辑日志记录放到Grouper中
Grouper评估复制的日志记录,并且把它们封装成消息放到发送队列
发送队列把消息通过网络传到目标服务器
数据同步组件恢复目标服务器得到的消息事务
消息事务成功应用后,确认消息发回源头服务器
请参考下面图解:
3.2 特点
3.2.1 基于日志的异步复制
3.2.2 适合于短事务
3.2.3 支持多种拓扑结构
完全连接、集线器/分支、等级、森林层次
3.2.4 支持选择性复制
行或列的选择性
3.2.5 支持主-目标复制(Primary–>Target,单向的 )
如下图:
主–目标模式(tree) 没有冲突
3.2.6 支持任何地方更新复制(Update Anywhere,双向的)
如下图:
任何地方更新复制可能会导致数据不一致冲突,如下图解释:
4 ER企业数据复制中数据不一致冲突的解决方法
从上图示例中我们可以看到,在任何地方都可进行数据更新复制的场景下,可能会导致数据不一致冲突,GBase 8s从用户实际业务数据处理规则中总结出如下解决冲突的方法:
总是使用(Always-Apply):
忽略冲突解决(Ignore):
5 ER企业数据复制的优势及其它应用
以上我们大概了解了GBase 8s 企业数据复制技术、实现方式、特点和它在实际生产中的应用案例等,下面我们把ER企业数据复制的优势再小结一下,以协助用户更好地理解和利用ER企业数据复制技术:
5.1 优势
GBase 8s内置功能,不依赖第三方产品,不需要单独收费
不用对已有的数据结构和应用程序做任何修改
配置简单、可快速投入使用
支持跨平台复制
效率高,性能稳定、可靠
按照用户定义,GBase 8s负责自动解决复制中的冲突
5.2 其它方面的应用
GBase 8s的Sharding技术是通过对ER技术加强来实现的, Sharding技术实现了对大表数据的横向扩展,它利用多节点资源支持对大表数据的处理,减少了单节点资源的压力;
基于ER技术的灵活网格(Grid)功能,用户可方便地在一节点上对其它节点上的资源、数据库对象和数据进行统一的管理和处理;
ER技术还可用于数据库服务器的滚动升级等;
ER企业复制技术是一项可在用户很多业务多场景下灵活易用的技术,它是GBase 8s众多数据库技术中一颗闪亮的星!
本文地址:https://blog.csdn.net/kevindaddy/article/details/108223146
上一篇: 惠普复印机粉盒怎么换粉?
下一篇: JSONObject用法详解