[发明专利]一种基于日志解析的数据库添加列同步方法和装置有效
申请号: | 201911413389.1 | 申请日: | 2019-12-31 |
公开(公告)号: | CN111241193B | 公开(公告)日: | 2021-04-27 |
发明(设计)人: | 孙峰;彭青松;余院兰 | 申请(专利权)人: | 武汉达梦数据库股份有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27 |
代理公司: | 深圳市六加知识产权代理有限公司 44372 | 代理人: | 向彬 |
地址: | 430000 湖北省武汉市东湖新技术开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 日志 解析 数据库 添加 同步 方法 装置 | ||
本发明涉及数据库技术领域,提供了一种基于日志解析的数据库添加列同步方法和装置。方法包括使用默认值常量表达式EXP_NEW作为目的端数据库中添加列的定义表达式,然后把添加列操作发送到目标端同步服务执行;当捕获取该添加列的提交日志时,判断目的端的定义表达式EXP_NEW和源端数据库中添加列的定义表达式EXP_OLD是否等价,如果等价则完成该事务同步,否则,使用表达式EXP_OLD构造一个修改列默认值的操作发送到目标库执行,完成该事务同步。本发明基本上可以保证源和目的数据库几乎在同一时刻对表进行添加列的操作。
【技术领域】
本发明涉及数据库技术领域,特别是涉及一种基于日志解析的数据库添加列同步方法和装置。
【背景技术】
在基于日志解析架构的数据库实时同步系统(支持异构)中,表修改的添加列操作同步往往会拖慢同步的性能。主要是在实际的应用系统中有些表的数据量过于庞大,如果在这种记录数很大的表上对表结构进行修改,比如删除某个列,会造成数据库对表的重构,由于这些表记录数庞大,数据库在重构时会消耗大量的时间并且产生大量的数据库日志。
传统的同步方法源端日志解析服务需要捕获到源端数据库表修改操作的提交日志以后再开始解析并同步该表修改操作,并在捕获到该操作提交日志之前,该操作产生的大量日志都要进行收集并缓存,缓存操作会产生大量的IO从而影响源端数据库的性能,并且表修改操作发送到目的端,目的端的数据库在执行该修改操作时,也同样需要消耗大量的时间才能完成,期间数据同步服务在同步该表的后续操作时,只能等待目的端数据库完成表修改以后才能进行,造成很大的同步延时。
例如对源端数据库拥有1亿行记录的A表添加1个列,该操作大约需要在源端数据库执行花费约60分钟,该操作同步到目的库也同样至少要花费60分钟才能完成,那么就会造成数据同步至少延迟60分钟。
在搭建主备同步的环境中,目的端数据库往往是用作查询库来分担主库的压力,表在添加列时,如何缩短大表修改操作同步延时并且减少同步对目的端数据库上应用程序的影响就成为业界亟待解决的技术问题。
【发明内容】
本发明要解决的技术问题是在搭建主备同步的环境中,目的端数据库往往是用作查询库来分担主库的压力,表在添加列时,长时间的同步延时将影响到应用的查询功能,如何缩短大表修改操作同步延时并且减少同步对目的端数据库上应用程序的影响就成为业界亟待解决的技术问题。
本发明进一步要解决的问题是例如采用系统时间作为添加列情况下,可能发生的直接通过表达式生成目的端数据库添加表默认值方式,会产生目的端数据库添加列中插入数据与源端数据库添加列不一致的问题。
本发明采用如下技术方案:
第一方面,本发明提供了一种基于日志解析的数据库添加列同步方法,包括:
源端数据库的同步系统判断日志中待同步的操作为DDL事务,则根据该事务号收集后续属于所述DDL事务的日志;
当收集到上述DDL事务相关的用户表INSERT操作日志时,则判断DDL事务中否为添加列的操作,如果是,则提取INSERT操作中新列的值构造出默认值常量表达式为EXP_NEW;
使用默认值常量表达式EXP_NEW作为目的端数据库中添加列的定义表达式,然后把添加列操作发送到目标端同步服务执行;
源端数据库同步系统继续捕获日志,直到捕获到所述DDL事务的提交日志;则根据前面收集的系统表操作日志还原出原始的添加列操作,并提取出源端数据库中添加列的定义表达式为EXP_OLD;
当捕获该添加列的提交日志时,判断目的端的定义表达式EXP_NEW和源端数据库中添加列的定义表达式EXP_OLD是否等价,如果等价则完成该事务同步,否则,使用表达式EXP_OLD构造一个修改列默认值的操作发送到目标库执行,完成该事务同步。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉达梦数据库股份有限公司,未经武汉达梦数据库股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911413389.1/2.html,转载请声明来源钻瓜专利网。