ETL資料載入策略

miguelmin發表於2009-08-19

本文所提到的資料載入策略為OLTP系統作為源系統,並進行ETL資料載入到DW系統中所採用的一般資料載入策略。
根據該方式的特定性,此時ETL資料載入一般存在以下四種方案:時戳方式,日誌表方式,全表比對方式,全表刪除插入方式

[@more@]


時戳方式
需要在OLTP系統中業務表中統一新增時間欄位作為時戳(如表中已有相應的時間欄位,可以不必新增),每當OLTP系統中更新修改業務資料時,同時修改時戳欄位值。當作ETL載入時,透過系統時間與時戳欄位的比較來決定進行何種資料抽取。
優點:ETL系統設計清晰,源資料抽取相對清楚簡單,速度快。可以實現資料的遞增載入。
缺點:時戳維護需要由OLTP系統完成,需要修改原OLTP系統中業務表結構;且所有新增時戳的表,在業務系統中,資料發生變化時,同時更新時戳欄位,需要對原OLTP系統業務操作程式作修改,工作量大,改動面大,風險大。

日誌表方式
在OLTP系統中新增系統日誌表,當業務資料發生變化時,更新維護日誌表內容,當作ETL載入時,透過讀日誌表資料決定載入那些資料及如何載入。
優點:不需要修改OLTP表結構,源資料抽取清楚,速度較快。可以實現資料的遞增載入。
缺點:日誌表維護需要由OLTP系統完成,需要對OLTP系統業務操作程式作修改,記錄日誌資訊。日誌表維護較為麻煩,對原有系統有較大影響。工作量較大,改動較大。有一定風險。

全表比對方式
在ETL過程中,抽取所有源資料,並進行相應規則轉換,完成後先不插入目標,而對每條資料進行目標表比對。根據主鍵值進行插入與更新的判定,目標表已存在該主鍵值的,表示該記錄已有,並進行其餘欄位比對,如有不同,進行Update操作,如目標表沒有存在該主鍵值,表示該記錄還沒有,即進行Insert操作。
優點:對已有系統表結構不產生影響,不需要修改業務操作程式,所有抽取規則由ETL完成,管理維護統一,可以實現資料的遞增載入。沒有風險。
缺點:ETL比對較複雜,設計較為複雜,速度較慢

全表刪除插入方式
每次ETL操作均刪除目標表資料,由ETL全新載入資料。
優點:ETL載入規則簡單,速度快
缺點:對於維表加代理鍵不適應,當OLTP系統產生刪除資料操作時,OLAP層將不會記錄到所刪除的歷史資料。不可以實現資料的遞增載入。

當作系統資料載入策略方案時,基於以上所列方法,及現有系統考慮:
(1)、如果所整合OLTP系統為其他產商產品,則應儘量的降低因ETL而對現有系統產生的影響,及系統風險性。而效能的影響則可以透過兩方面解決,一部分由硬體的升級進行解決,因為ETL除讀表及寫表操作外,所有轉換均由ETL伺服器在記憶體中完成,故高配置伺服器將大大提升ETL執行速度;一部分由載入時機進行控制,載入時機採取在系統較為空閒時載入,同時並行多個載入等,可以降低對執行系統的影響。所以可以使用全表比對遞增載入資料的方式作為此類系統的ETL資料載入規則。
(2)、如果原OLTP系統為自己開發產品,此次所作OLAP系統為在原系統上的系統,則可以考慮使用時輟或日誌表方式,區別僅為對原系統的影響大小。
(3)、當資料實現遞增載入時,OLAP系統中的聚合表,可由OLAP中的事實表資料二次ETL產生,此時由於OLAP資料的完整性與準確性,可以使用全表刪除插入方式。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16723161/viewspace-1026161/,如需轉載,請註明出處,否則將追究法律責任。

相關文章