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