etl
的抽取策略
本文所提到的資料載入策略為oltp系統作為源系統,並進行etl資料載入到olap系統中所採用的一般資料載入策略。依循資料倉儲的工作方式,原始資料由源資料庫被抽取出來後,將在中間過程被寫入到」operational data store」(ods),ods是被設計用來儲存中間資料和核查校驗資料的。通過ods,資料將被萃取、預先被計算及整理,而後被匯入資料倉儲作進一步的報表生成與分析。所以通常意義的etl過程涵蓋了兩個方面的內容:1. 從源資料庫到中間步驟的ods; 2. 從ods到最終的資料倉儲。目標資料庫存放資料的時間區間比源資料庫長。例如源資料庫存放的是3個月的交易生產資料,ods存放了1年左右的資料,而資料倉儲存放了3-5年的歷史資料。 一般
etl資料載入存在以下幾種方案:
1、 時間戳方式
需要在oltp
(聯機事務處理系統)系統中業務表中統一新增時間字段作為時戳(如表中已有相應的時間字段,可以不必新增),每當
oltp
系統中更新修改業務資料時,必須同時修改時戳字段值。當作
etl載入時,通過系統時間與時戳字段的比較來決定進行何種資料抽取。
優點:etl
系統設計清晰,源資料抽取相對清楚簡單,速度快。可以實現資料的遞增載入。
缺點:時戳維護需要由
oltp
系統完成,需要修改原
oltp
系統中業務表結構;且所有新增時戳的表,在業務系統中,資料發生變化時,同時更新時戳字段,需要對原
oltp
系統業務操作程式作修改,工作量大,改動面大
,風險大。但如果業務表在最初設計的時候考慮到這點,應用此方案是最好的選擇。 2
、 日誌表方式
在oltp
系統中新增系統日誌表,當業務資料發生變化時,更新維護日誌表內容,當作
etl載入時,通過讀日誌表資料決定載入那些資料及如何載入。
優點:不需要修改
oltp
表結構,源資料抽取清楚,速度較快。可以實現資料的遞增載入。
缺點:日誌表維護需要由
oltp
系統完成,需要對
oltp
系統業務操作程式作修改,記錄日誌資訊。日誌表維護較為麻煩,對原有系統有較大影響。工作量較大,改動較大
,有一定風險。 3
、 全表比對方式
在etl
過程中,抽取所有源資料,並進行相應規則轉換,完成後先不插入目標,而對每條資料進行目標錶比對。根據主鍵值進行插入與更新的判定,目標表已存在該主鍵值的,表示該記錄已有,並進行其餘欄位比對,如有不同,進行
update
操作,如目標表沒有存在該主鍵值,表示該記錄還沒有,即進行
insert
操作。優點:
對已有系統表結構不產生影響,不需要修改業務操作程式,所有抽取規則由
etl完成,管理維護統一,
可以實現資料的遞增載入,沒有風險。
缺點:etl
比對較複雜,設計較為複雜,速度較慢
4、 全表刪除插入方式
每次etl
操作均刪除目標表資料,由
etl全新載入資料。
優點:etl
載入規則簡單,速度快。
缺點:對於維表加**鍵不適應,當
oltp
系統產生刪除資料操作時,
olap
層將不會記錄到所刪除的歷
史資料。不可以實現資料的遞增載入。
5、 設定觸發器方式
通過在源系統的資料庫中設定觸發器,每當有
update
、insert
、delete
操作時觸發乙個事件將發生改變的記錄抽取到相應的臨時表中。
優點:etl
載入規則簡單,速度快,不需要修改
oltp
表結構,
可以實現資料的遞增載入。
缺點:對源系統效能有一些影響。需建立一張臨時表。 6
、 利用
oracle
變化資料捕捉(
change data capture
,cdc
)特性cdc
特性是在
oracle9i
資料庫中引入的,它簡化了識別自上次提取後發生變化的資料的過程。
cdc能夠幫助識別從上次提取之後發生變化的資料。利用
cdc,在對源表進行
update
、insert
或delete
等操作的同時就可以提取資料,並且變化的資料被儲存在資料庫的變化表中。這樣就可以捕獲發生變化的資料,然後利用資料庫檢視以一種可控的方式提供給目標系統。
ETL資料抽取方案
etl 過程中的主要環節就是資料抽取 資料轉換和加工 資料裝載。為了實現這些功能,etl 工具會進行一些功能上的擴充,例如工作流 排程引擎 規則引擎 指令碼支援 統計資訊等。資料抽取是從資料來源中抽取資料的過程。實際應用中,資料來源較多採用的是關聯式資料庫。從資料庫中抽取資料一般有以下幾種方式 1....
ETL資料抽取 全量 增量
在根據使用者需求選擇需要抽取的字段之外,我們通常需要選擇採用全量或者增量的方法進行資料抽取。全量抽取指的是從源系統中將表內資料不加行的篩選,全部抽取 增量抽取指的是只抽取前次抽取之後發生變化或者新增的資料 增量抽取的資料難度較大,要保證資料不能多抽取,漏抽取 在源表資料量較大,大部分資料一經入庫改動...
《BI專案筆記》增量ETL資料抽取的策略及方法
原文 bi專案筆記 增量etl資料抽取的策略及方法 增量抽取 增量抽取只抽取自上次抽取以來資料庫中要抽取的表中新增或修改的資料。在etl使用過程中。增量抽取較全量抽取應用更廣。如何捕獲變化的資料是增量抽取的關鍵。對捕獲方法一般有兩點要求 準確性,能夠將業務系統中的變化資料按一定的頻率準確地捕獲到 效...