一种基于CDC实现数据库数据同步并读写分离的方法技术

技术编号:27144684 阅读:15 留言:0更新日期:2021-01-27 21:45
本发明专利技术公开了一种基于CDC实现数据库数据同步并读写分离的方法,属于数据库技术领域。本发明专利技术的基于CDC实现数据库数据同步并读写分离的方法,在统一平台增加MIRROR关键字,在统一平台中使用MIRROR关键字创建镜像表,在OLTP数据库引擎和OLAP数据库引擎中分别建表;对镜像表执行增、删、改操作,路由到OLTP引擎中;数据同步服务将数据同步到OLAP引擎中执行;对镜像表执行查询操作,路由到OLAP引擎中;删除镜像表,则分别删除OLTP数据库引擎和OLAP数据库引擎中的表。该发明专利技术的基于CDC实现数据库数据同步并读写分离的方法能够充分发挥OLAP和OLTP数据库引擎的特性,具有很好的推广应用价值。值。值。

【技术实现步骤摘要】
一种基于CDC实现数据库数据同步并读写分离的方法


[0001]本专利技术涉及数据库
,具体提供一种基于CDC实现数据库数据同步并读写分离的方法。

技术介绍

[0002]OLTP即OnlineTransactionProcessing为联机事务处理过程,也称为面向交易的处理过程,OLTP型数据库系统是面向交易型场景需求的系统。OLTP型数据库系统不仅仅局限于某一数据库,具有CDC或类似机制的数据库均可实现,例如:Oracle,Informix,Cockroachdb。其基本特征是前台接收的用户数据可以立即传送到计算中心进行处理,并在很短的时间内给出处理结果,是对用户操作快速响应的方式。
[0003]OLAP即OnlineAnalyticalProcessing联机分析处理过程,OLAP型数据库系统是面向分析型场景需求的系统,是一种数据处理技术,专门设计用于支持复杂的分析操作,侧重对决策人员和高层管理人员的决策支持,可以根据分析人员的要求快速、灵活地进行大数据量的复杂查询处理,并且以一种直观而易懂的形式将查询结果提供给决策人员。OLAP型数据库也不局限于单一数据库,GreenPlum等均可。
[0004]随着用户数据量不断提升、场景需求的提高,交易型和分析型的混合场景需求日益增加,需要一套数据库系统,或者基于两套数据库系统搭建的一个平台解决该类需求。为充分发挥OLTP和OLAP两类数据库引擎的作用,插入、删除、更新等事务型操作路由到事务型数据库系统;查询操作路由到分析型数据库系统。数据在两个系统中都存在,需要将数据由一个系统同步到另一个系统中,这属于后台服务,对用户透明。

技术实现思路

[0005]本专利技术的技术任务是针对上述存在的问题,提供一种能够用于事务性和分析性需求都比较强烈的场景,充分发挥两个数据库引擎各有的特性的基于CDC实现数据库数据同步并读写分离的方法。
[0006]为实现上述目的,本专利技术提供了如下技术方案:
[0007]一种基于CDC实现数据库数据同步并读写分离的方法,在统一平台增加MIRROR关键字,在统一平台中使用MIRROR关键字创建镜像表,在OLTP数据库引擎和OLAP数据库引擎中分别建表;对镜像表执行增、删、改操作,路由到OLTP引擎中;数据同步服务将数据同步到OLAP引擎中执行;对镜像表执行查询操作,路由到OLAP引擎中;删除镜像表,则分别删除OLTP数据库引擎和OLAP数据库引擎中的表。
[0008]CDC即ChangeDataCapture改变数据捕获,是较多数据库实现的增量抽取解决方案。通过捕获改变的数据,进行通知用户进行处理。目前提供这一机制的数据库系统包括Oracle、Informix、Cockroachdb等。
[0009]镜像表为具有读写分离功能的数据表的类型名字。
[0010]作为优选,该基于CDC实现数据库数据同步并读写分离的方法具体包括以下步骤:
[0011]S1、在统一平台中使用MIRROR关键字创建镜像表,在OLTP数据库引擎和OLAP数据库引擎中分别建表;
[0012]S2、对镜像表执行增、删、改操作,该类事务型操作被统一平台路由到OLTP引擎中;
[0013]S3、查询镜像表数据,该类分析型操作被统一平台路由到OLAP型数据库系统中;
[0014]S4、由数据同步服务完成数据从OLTP数据库引擎到OLAP数据库引擎;
[0015]S5、删除镜像表,在OLTP数据库引擎和OLAP数据库引擎中分别删除表。
[0016]作为优选,步骤S1具体包括以下过程:
[0017]S11、增加MIRROR关键字,在统一平台创建镜像表;
[0018]S12、使用事务日志技术,记录事务日志,创建数据表t_mirror_oltp;
[0019]S13、在OLTP数据库引擎中创建数据表t_mirror_oltp;
[0020]S14、使用事务日志技术,记录事务日志,创建数据表t_mirror_olap;
[0021]S15、在OLAP数据库引擎中创建数据表t_mirror_olap;
[0022]S16、创建镜像表事务提交。
[0023]作为优选,步骤S2具体包括以下过程:
[0024]S21、判断当前操作是否是增、删、改操作;
[0025]S22、若是增、删、改操作,则路由到OLTP数据库引擎,成功执行,失败则返回失败原因。
[0026]作为优选,步骤S3具体包括以下过程:
[0027]S31、判断当前操作是否是查询操作;
[0028]S32、若是查询操作,则路由到OLAP数据库引擎,成功返回结果集,失败返回失败原因。
[0029]作为优选,步骤S4具体包括以下过程:
[0030]S41、数据库同步服务解析与t_mirror_oltp相关的CDC日志;
[0031]S42、生成对应的OLAP引擎对应的操作SQL语句;
[0032]S43、在对应的OLAP引擎执行SQL语句,进行数据同步。
[0033]作为优选,步骤S5具体包括以下过程:
[0034]S51、使用事务日志技术,记录事务日志,删除数据表t_mirror_oltp;
[0035]S52、在OLTP数据库引擎中删除数据表t_mirror_oltp;
[0036]S53、使用事务日志技术,记录事务日志,删除数据表t_mirror_olap;
[0037]S54、在OLAP数据库引擎中删除数据表t_mirror_olap;
[0038]S55、删除镜像表事务提交。
[0039]作为优选,步骤S1和步骤S5中,均通过数据库事务技术保证原子性。
[0040]与现有技术相比,本专利技术的基于CDC实现数据库数据同步并读写分离的方法具有以下突出的有益效果:所述基于CDC实现数据库数据同步并读写分离的方法可以用于事务性和分析性需求都比较强烈的场景,充分OLTP数据库引擎和OLAP数据库引擎各有的特性,于事务日志技术建表、删表,确保各数据库引擎表的元数据强一致性,可使其更加可靠,同时OLTP和OLAP型数据库引擎均为高可用系统,使之在整体上高可用,同时也将事务型数据库系统和分析型数据库系统进行深度融合,具有良好的推广应用价值。
附图说明
[0041]图1是本专利技术所述基于CDC实现数据库数据同步并读写分离的方法的镜像表建表操作时序图;
[0042]图2是本专利技术所述基于CDC实现数据库数据同步并读写分离的方法的数据插入、查询流程时序图。
具体实施方式
[0043]下面将结合附图和实施例,对本专利技术的基于CDC实现数据库数据同步并读写分离的方法作进一步详细说明。
[0044]实施例
[0045]本专利技术的基于CDC实现数据库数据同步并读写分离的方法,在统一平台增加MIRROR关键字,在统一平台中使用MIRROR关键字创建镜像表,在本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于CDC实现数据库数据同步并读写分离的方法,其特征在于:在统一平台增加MIRROR关键字,在统一平台中使用MIRROR关键字创建镜像表,在OLTP数据库引擎和OLAP数据库引擎中分别建表;对镜像表执行增、删、改操作,路由到OLTP引擎中;数据同步服务将数据同步到OLAP引擎中执行;对镜像表执行查询操作,路由到OLAP引擎中;删除镜像表,则分别删除OLTP数据库引擎和OLAP数据库引擎中的表。2.根据权利要求1所述的基于CDC实现数据库数据同步并读写分离的方法,其特征在于:具体包括以下步骤:S1、在统一平台中使用MIRROR关键字创建镜像表,在OLTP数据库引擎和OLAP数据库引擎中分别建表;S2、对镜像表执行增、删、改操作,该类事务型操作被统一平台路由到OLTP引擎中;S3、查询镜像表数据,该类分析型操作被统一平台路由到OLAP型数据库系统中;S4、由数据同步服务完成数据从OLTP数据库引擎到OLAP数据库引擎;S5、删除镜像表,在OLTP数据库引擎和OLAP数据库引擎中分别删除表。3.根据权利要求2所述的基于CDC实现数据库数据同步并读写分离的方法,其特征在于:步骤S1具体包括以下过程:S11、增加MIRROR关键字,在统一平台创建镜像表;S12、使用事务日志技术,记录事务日志,创建数据表t_mirror_oltp;S13、在OLTP数据库引擎中创建数据表t_mirror_oltp;S14、使用事务日志技术,记录事务日志,创建数据表t_mirror_olap;S15、在OLAP数据库引擎中创建数据表t_mirror_olap;S16...

【专利技术属性】
技术研发人员:于伟周恒陈磊孙思清
申请(专利权)人:浪潮云信息技术股份公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1