日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

《BI項目筆記》增量ETL數據抽取的策略及方法

系統(tǒng) 1922 0
原文: 《BI項目筆記》增量ETL數據抽取的策略及方法

增量抽取 增量抽取只抽取自上次抽取以來數據庫中要抽取的表中新增或修改的數據。在ETL使用過程中。增量抽取較全量抽取應用更廣。如何捕獲變化的數據是增量抽取的關鍵。對捕獲方法一般有兩點要求:準確性,能夠將業(yè)務系統(tǒng)中的變化數據按一定的頻率準確地捕獲到;性能,不能對業(yè)務系統(tǒng)造成太大的壓力,影響現有業(yè)務。目前增量數據抽取中常用的捕獲變化數據的方法有:
a.觸發(fā)器 :在要抽取的表上建立需要的觸發(fā)器,一般要建立插入、修改、刪除三個觸發(fā)器,每當源表中的數據發(fā)生變化,就被相應的觸發(fā)器將變化的數據寫入一個臨時表,抽取線程從臨時表中抽取數據,臨時表中抽取過的數據被標記或刪除。觸發(fā)器方式的優(yōu)點是數據抽取的性能較高,缺點是要求業(yè)務表建立觸發(fā)器,對業(yè)務系統(tǒng)有一定的影響。

b.時間戳 :它是一種基于快照比較的變化數據捕獲方式,在源表上增加一個時間戳字段,系統(tǒng)中更新修改表數據的時候,同時修改時間戳字段的值。當進行數據抽取時,通過比較系統(tǒng)時間與時間戳字段的值來決定抽取哪些數據。有的數據庫的時間戳支持自動更新,即表的其它字段的數據發(fā)生改變時,自動更新時間戳字段的值。有的數據庫不支持時間戳的自動更新,這就要求業(yè)務系統(tǒng)在更新業(yè)務數據時,手工更新時間戳字段。同觸發(fā)器方式一樣,時間戳方式的性能也比較好,數據抽取相對清楚簡單,但對業(yè)務系統(tǒng)也有很大的傾入性(加入額外的時間戳字段),特別是對不支持時間戳的自動更新的數據庫,還要求業(yè)務系統(tǒng)進行額外的更新時間戳操作。另外,無法捕獲對時間戳以前數據的delete和update操作,在數據準確性上受到了一定的限制。

c.全表比對 :典型的全表比對的方式是采用MD5校驗碼。ETL工具事先為要抽取的表建立一個結構類似的MD5臨時表,該臨時表記錄源表主鍵以及根據所有字段的數據計算出來的MD5校驗碼。每次進行數據抽取時,對源表和MD5臨時表進行MD5校驗碼的比對,從而決定源表中的數據是新增、修改還是刪除,同時更新MD5校驗碼。MD5方式的優(yōu)點是對源系統(tǒng)的傾入性較小(僅需要建立一個MD5臨時表),但缺點也是顯而易見的,與觸發(fā)器和時間戳方式中的主動通知不同,MD5方式是被動的進行全表數據的比對,性能較差。當表中沒有主鍵或唯一列且含有重復記錄時,MD5方式的準確性較差。

d.日志對比 :通過分析數據庫自身的日志來判斷變化的數據。Oracle的改變數據捕獲(CDC,ChangedDataCapture)技術是這方面的代表。CDC特性是在Oracle9i數據庫中引入的。CDC能夠幫助你識別從上次抽取之后發(fā)生變化的數據。利用CDC,在對源表進行insert、update或delete等操作的同時就可以提取數據,并且變化的數據被保存在數據庫的變化表中。這樣就可以捕獲發(fā)生變化的數據,然后利用數據庫視圖以一種可控的方式提供給目標系統(tǒng)。CDC體系結構基于發(fā)布者/訂閱者模型。發(fā)布者捕捉變化數據并提供給訂閱者。訂閱者使用從發(fā)布者那里獲得的變化數據。通常,CDC系統(tǒng)擁有一個發(fā)布者和多個訂閱者。發(fā)布者首先需要識別捕獲變化數據所需的源表。然后,它捕捉變化的數據并將其保存在特別創(chuàng)建的變化表中。它還使訂閱者能夠控制對變化數據的訪問。訂閱者需要清楚自己感興趣的是哪些變化數據。一個訂閱者可能不會對發(fā)布者發(fā)布的所有數據都感興趣。訂閱者需要創(chuàng)建一個訂閱者視圖來訪問經發(fā)布者授權可以訪問的變化數據。CDC分為同步模式和異步模式,同步模式實時的捕獲變化數據并存儲到變化表中,發(fā)布者與訂閱都位于同一數據庫中。異步模式則是基于Oracle的流復制技術。

綜上所述:本BI項目中采取時間戳方式.

《BI項目筆記》增量ETL數據抽取的策略及方法


更多文章、技術交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 福州市| 北京市| 桃江县| 宜黄县| 阜阳市| 岳阳市| 建瓯市| 余姚市| 固原市| 昔阳县| 黔江区| 建阳市| 贡嘎县| 江阴市| 定西市| 浦城县| 宜都市| 唐海县| 旌德县| 兴山县| 阳春市| 禄丰县| 朝阳区| 沿河| 庄河市| 安化县| 都江堰市| 丽江市| 甘洛县| 万州区| 绥阳县| 田东县| 彭州市| 湘阴县| 肥西县| 东乌珠穆沁旗| 兴安县| 万年县| 鹿泉市| 九寨沟县| 乾安县|