[發明專利]基于MapReduce的MYSQL數據庫的變化數據捕獲方法有效
| 申請號: | 201310332312.8 | 申請日: | 2013-08-01 |
| 公開(公告)號: | CN103440265A | 公開(公告)日: | 2013-12-11 |
| 發明(設計)人: | 鄒先霞;李鵬;杜威 | 申請(專利權)人: | 暨南大學 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 廣州市華學知識產權代理有限公司 44245 | 代理人: | 陳燕嫻 |
| 地址: | 510632 廣*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 mapreduce mysql 數據庫 變化 數據 捕獲 方法 | ||
技術領域
本發明涉及數據捕捉的技術領域,特別涉及一種基于MapReduce的MYSQL數據庫的變化數據捕獲方法。
背景技術
變化數據捕獲(change?data?capture,CDC)是ETL(Extract?Transform?Load)過程所要解決的主要問題之一。CDC用于捕獲生產數據庫中數據更新操作(如插入insert、刪除delete、修改update)的數據,為OLAP數據庫、報表數據庫、數據倉庫,商業智能數據庫等企業應用數據庫的數據同步更新提供增量數據抽取服務。
現有的變化數據捕獲CDC方法可歸納為五類:
(1)基于時間屬性的CDC方法
若數據庫的表是只追加表(只允許插入不允許刪除、更新操作的表稱為只追加表),在表結構中包含了一個時間屬性,該時間屬性的值為記錄插入數據庫的系統時間,基于時間戳的方法采用定期地使用SQL(structure?query?language)查詢獲得某個時間段新插入的記錄來實現變化數據的捕獲。
(2)基于觸發器的CDC方法
觸發器是數據庫系統在特定的條件或某事件發生時調用的存儲過程,基于觸發器的CDC方法就是利用這些觸發器機制創建插入、刪除和更新操作(insertdelete?update,IDU)的觸發器,當數據庫執行了IDU操作時觸發器將這些操作的記錄寫入另一些表來獲取變化數據。
(3)基于日志的CDC方法
數據庫日志記錄了數據庫所有的IDU操作,通過對數據庫日志進行分析,提取出已提交事務的IDU操作記錄即可獲得數據庫的變化數據。
(4)基于API的CDC方法
假設數據庫系統為應用程序提供了一組API(application?program?interface),應用程序通過調用API來操作數據庫,基于API的CDC方法通過這些API來記錄應用程序對數據庫的操作。
(5)基于快照差分的CDC方法
給定數據庫D,t為某一時刻,D在t時刻的狀態稱為數據庫的一個快照,快照是數據庫中選擇的部分數據的拷貝,它反映了數據庫在過去的某個時刻的狀態。基于快照差分的CDC方法是對數據庫二個連續的快照通過對比得出數據庫的變化數據。現有的差分方法歸納為三類:排序歸并算法、Hash分區算法和Window算法。排序歸并算法先對二個連續的快照文件進行排序,然后對排序的文件依次掃描找出IDU的記錄。Hash分區算法首先根據給定的哈希函數對二個連續的快照文件進行分區,然后對健值相同的哈希桶進行對比找出IDU的記錄。Window算法基于二個連續的快照文件相匹配的元組在物理位置上也是相互接近這一前提,不匹配的元組先被保存在預先建立的“窗口”區中等待匹配,當窗口緩沖區溢出時,將“較老”的元組看作是IDU的記錄。
不同的CDC方法主要在適用范圍、對生產系統(數據庫所在系統)計算機資源的占用、對業務系統(數據庫的應用系統)的修改要求、同步操作的時間延遲及算法實現的復雜性等幾方面存在差異。
(1)基于時間屬性的CDC方法
基于時間屬性的CDC方法采用利用時間屬性的查詢來獲得變化數據,因此僅限于只追加表,僅能捕獲到新插入或新修改的數據;基于時間屬性的CDC方法實現簡單,不涉及對業務系統的修改,查詢操作占用生產系統資源較少,同步操作的延遲較低。
(2)基于觸發器的CDC方法
基于觸發器的CDC方法僅適用于支持觸發器的數據庫系統中。觸發器滿足ECA(Event?Condition?Action)規則,數據庫的每項操作都需要檢查觸發器,當條件滿足時需要成倍地增加數據庫操作,降低了生產系統和業務系統的執行效率。基于觸發器的CDC方法實現簡單,同步操作是實時的。
(3)基于日志的CDC方法
日志是數據庫系統為實現事務ACID性質和數據庫恢復而建立的一種機制。數據庫日志采用二進制或加密的二進制文件格式,用戶程序只能通過數據庫系統提供的訪問接口來讀取數據庫日志;不同數據庫產品或同一產品的不同版本在日志記錄格式存在千差萬別,這使得日志文件的讀取和分析變得非常困難。基于日志的CDC方法可以將日志文件復制到生產系統之外的系統上進行讀取和分析,因此對生產系統和業務系統的效率不產生任何影響,同步操作存在延遲。
(4)基于API的CDC方法
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于暨南大學,未經暨南大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310332312.8/2.html,轉載請聲明來源鉆瓜專利網。





