[發明專利]一種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.szxzyx.cn/pat/books/202110006149.0/2.html,轉載請聲明來源鉆瓜專利網。





