[發明專利]一種基于日志解析的數據庫添加列同步方法和裝置有效
| 申請號: | 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.szxzyx.cn/pat/books/201911413389.1/2.html,轉載請聲明來源鉆瓜專利網。





