[发明专利]一种KingBase数据库CDC实现方法在审
申请号: | 202110006149.0 | 申请日: | 2021-01-05 |
公开(公告)号: | CN112698816A | 公开(公告)日: | 2021-04-23 |
发明(设计)人: | 刘瑞东;翟建峰;王楠楠;胡清 | 申请(专利权)人: | 浪潮云信息技术股份公司 |
主分类号: | G06F8/20 | 分类号: | G06F8/20;G06F8/71;G06F16/242;G06F16/27 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 姜鹏 |
地址: | 250100 山东省济南市高*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 kingbase 数据库 cdc 实现 方法 | ||
本发明涉及计算机领域,具体提供了一种KingBase数据库CDC实现方法,开启KingBase的WAL日志,通过获取日志并进行日志的逻辑解码,以java代码形式读取日志内容,转换成可执行的增量SQL语句,从目标数据库中获取变化的源数据,在增量至目标数据库中。与现有技术相比,本发明的一种KingBase数据库CDC实现方法,可以在短时间内,快速捕获源库表中变化数据并在目标数据库中实现同步。
技术领域
本发明涉及计算机领域,具体提供一种KingBase数据库CDC实现方法。
背景技术
近些年来,我国对软硬件的国产化的需求更加的刻不容缓,在这 样的背景下,开发、生产环境中对KingBase数据库CDC操作适配仍 不完善,仍有很多项目在使用侵入式的CDC操作,这不仅给源系统带 来了极大的性能影响,同时在在冗杂繁多的数据中,侵入式CDC操作 的执行缓慢,SQL执行错误等问题均难以满足现今业务需要快速准确 的需求,使得国产数据库的实际使用与推广成为问题。
发明内容
本发明是针对上述现有技术的不足,提供一种实用性强的KingBase数据库 CDC实现方法。
本发明解决其技术问题所采用的技术方案是:
一种KingBase数据库CDC实现方法,开启KingBase的WAL日志,通过获 取日志并进行日志的逻辑解码,以java代码形式读取日志内容,转换成可执行 的增量SQL语句,从目标数据库中获取变化的源数据,在增量至目标数据库中。
进一步的,利用Kingbase数据库通过逻辑解码插件test_decoding实现 CDC,首先,修改KingBase数据库的配置文件,wal_level设置为logical逻 辑解码,复制槽数量最小值为1。
进一步的,具体分为以下:
S1、使用NiFi的KingBaseCDC处理器从源库表中读取wal日志,并对日志 进行逻辑解码,转换为增量SQ;
S2、使用NiFi的IPutJDBC、ExecuteSQL处理器,根据提示配置相关的内 容,获取目标数据库连接,在目标数据库执行读取源数据库日志后进行转换的 增量SQL,完成KingBase的CDC操作。
进一步的,KingBaseCDC处理器具体实现如下:
(1)配置KingBaseCDC处理器;
(2)创建复制槽;
(3)创建模拟数据格式;
(4)Java代码读取查询结果;
(5)目标数据库执行。
进一步的,在步骤(1)中,URL为配置数据库地址,Database driver class 选择com.kingbase8.Driver这一匹配驱动,Data Decoder选择test_decoding, 其中,星号为必填项;
test_decoding解码插件,为kingbase自带,wal2json和decoder_raw 插件,自行安装。
进一步的,在步骤(2)中,在代码中使用'test_decoding'解码插件创建 一个名为'regression_slot'的Logical Replication Slot,复制槽:
SELECT*FROM sys_create_logical_replication_slot(‘regression_slot’,‘test_decoding’)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮云信息技术股份公司,未经浪潮云信息技术股份公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110006149.0/2.html,转载请声明来源钻瓜专利网。