[發明專利]一種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 實現 方法 | ||
1.一種KingBase數據庫CDC實現方法,其特征在于,開啟KingBase的WAL日志,通過獲取日志并進行日志的邏輯解碼,以java代碼形式讀取日志內容,轉換成可執行的增量SQL語句,從目標數據庫中獲取變化的源數據,在增量至目標數據庫中。
2.根據權利要求1所述的一種KingBase數據庫CDC實現方法,其特征在于,利用Kingbase數據庫通過邏輯解碼插件test_decoding實現CDC,首先,修改KingBase數據庫的配置文件,wal_level設置為logical邏輯解碼,復制槽數量最小值為1。
3.根據權利要求2所述的一種KingBase數據庫CDC實現方法,其特征在于,具體分為以下:
S1、使用NiFi的KingBaseCDC處理器從源庫表中讀取wal日志,并對日志進行邏輯解碼,轉換為增量SQ;
S2、使用NiFi的IPutJDBC、ExecuteSQL處理器,根據提示配置相關的內容,獲取目標數據庫連接,在目標數據庫執行讀取源數據庫日志后進行轉換的增量SQL,完成KingBase的CDC操作。
4.根據權利要求3所述的一種KingBase數據庫CDC實現方法,其特征在于,KingBaseCDC處理器具體實現如下:
(1)配置KingBaseCDC處理器;
(2)創建復制槽;
(3)創建模擬數據格式;
(4)Java代碼讀取查詢結果;
(5)目標數據庫執行。
5.根據權利要求4所述的一種KingBase數據庫CDC實現方法,其特征在于,在步驟(1)中,URL為配置數據庫地址,Database driver class選擇com.kingbase8.Driver這一匹配驅動,Data Decoder選擇test_decoding,其中,星號為必填項;
test_decoding解碼插件,為kingbase自帶,wal2json和decoder_raw插件,自行安裝。
6.根據權利要求4所述的一種KingBase數據庫CDC實現方法,其特征在于,在步驟(2)中,在代碼中使用'test_decoding'解碼插件創建一個名為'regression_slot'的LogicalReplication Slot,復制槽:
SELECT*FROM sys_create_logical_replication_slot(‘regression_slot’,‘test_decoding’)。
7.根據權利要求4所述的一種KingBase數據庫CDC實現方法,其特征在于,在步驟(3)中,對數據進行DML操作后,可通過sys_logical_slot_peek_changes或sys_logical_slot_get_changes進行查看。
8.根據權利要求4所述的一種KingBase數據庫CDC實現方法,其特征在于,在步驟(4)中,通過Java代碼讀取查詢結果,將其拼湊成增量的SQL語句,然后在目標數據庫執行。
9.根據權利要求4所述的一種KingBase數據庫CDC實現方法,其特征在于,在步驟(5)中,通過使用Nifi的iputJDBC處理器處理數據庫連接,通過ExecuteSQL在目標庫執行。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浪潮云信息技術股份公司,未經浪潮云信息技術股份公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110006149.0/1.html,轉載請聲明來源鉆瓜專利網。





