在建立數據倉庫時,
ETL通常都采用批處理的方式,一般來說是每天的夜間進行跑批。
隨著數據倉庫技術的逐步成熟,企業對數據倉庫的時間延遲有了更高的要求,也就出現了目前常說的實時ETL(Real-Time ETL)。實時ETL是數據倉庫領域里比較新的一部分內容。
在構建實時ETL架構的數據倉庫時,有幾種技術可供選擇。
1.微批處理(microbatch ETL,MB-ETL)
微批處理的方式和我們通常的ETL處理方式很相似,但是處理的時間間隔要短,例如間隔一個小時處理一次。
2.企業應用集成(Enterprise Application Integration,EAI)
EAI也稱為功能整合,通常由中間件來完成數據的交互。而通常的ETL稱為數據整合。
對實時性要求非常高的系統,可以考慮使用EAI作為ETL的一個工具,可以提供快捷的數據交互。不過在數據量大時采用EAI工具效率比較差,而且實現起來相對復雜。
3.CTF(Capture, Transform and Flow)
CTF是一類比較新的數據整合工具。它采用的是直接的數據庫對數據庫的連接方式,可以提供秒級的數據。CTF的缺點是只能進行輕量級的數據整合。通常的處理方式是建立數據準備區,采用CTF工具在源數據庫和數據準備區的數據庫之間相連接。數據進入數據準備區后再經過其他處理后遷移入數據倉庫。
4.EII(Enterprise Information Integration)
EII是另一類比較新的數據整合軟件,可以給企業提供實時報表。EII的處理方式和CTF很相似,但是它不將數據遷移入數據準備區或者數據倉庫,而是在抽取轉換后直接加載到報表中。
在實際建立實時ETL架構的數據倉庫時,可以在MB-ETL, EAI, CTF, EII及通常的ETL中作出選擇或者進行組合。