ETL資料載入策略
本文所提到的資料載入策略為OLTP系統作為源系統,並進行ETL資料載入到DW系統中所採用的一般資料載入策略。
根據該方式的特定性,此時ETL資料載入一般存在以下四種方案:時戳方式,日誌表方式,全表比對方式,全表刪除插入方式
時戳方式
需要在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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ETL資料整合丨SQLServer到Doris的無縫資料同步策略SQLServer
- MongoDB寫入資料策略MongoDB
- ETL測試或資料倉儲測試入門
- ETL資料整合平臺,RestCloud視覺化ETLRESTCloud視覺化
- 國產 ETL工具 ETL產品 資料交換系統
- 資料載入
- ETL資料整合,RestCloud資料整合平臺RESTCloud
- vue載入優化策略Vue優化
- 增量資料載入
- 【sqlldr載入資料】SQL
- 大資料測試之ETL大資料
- 四種資料ETL模式(ZT)模式
- ETL的資料脫敏方式
- 頁面圖片預載入與懶載入策略
- ETL資料整合丨PostgreSQL資料遷移至Hive資料庫SQLHive資料庫
- RestCloud ETL WebService資料同步到本地RESTCloudWeb
- 資料倉儲—ETL—Informatica 介紹ORM
- ETL資料倉儲的使用方式
- HBase載入大資料大資料
- 圖片懶載入 與 下拉載入更新資料
- 圖片延遲載入策略(JavaScript)JavaScript
- Bitmap的載入與快取策略快取
- 大資料之ETL設計詳解大資料
- 使用ETL進行資料接入的方式
- Android ImageLoader框架之圖片載入與載入策略Android框架
- Docker入門-資料掛載Docker
- ListView動態載入資料View
- 外部表載入資料(ExternalTables)
- 利用CSV 引擎載入資料
- ETL工具----Kettle快速入門
- ETL學習心得:探求資料倉儲關鍵環節ETL的本質
- ETL資料整合丨將GreenPlum資料同步至Doris數倉
- 一文了解主流大資料ETL工具大資料
- Restcloud ETl實踐之資料行列轉換RESTCloud
- ETL+BI結合的資料整合工具
- 透過 ETL 匯出 Hive 中的資料Hive
- 資料倉儲—ETL—BusinessObjects Data Integrator 介紹Object
- 資料倉儲—ETL—Oracle Warehouse Builder 介紹OracleUI