主流ETL工具選型_第1頁
主流ETL工具選型_第2頁
主流ETL工具選型_第3頁
主流ETL工具選型_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、主流ETL工具選型ETL(extract, transform and load)產(chǎn)品乍看起來似乎并不起眼,單就此項技術本身而言,幾乎也沒什么特別深奧之處,但是在實際項目中,卻常常在這個環(huán)節(jié)耗費太多的人力,而在后續(xù)的維護工作中,更是往往讓人傷透腦筋。之所以出現(xiàn)這種狀況,恰恰與項目初期沒有正確估計ETL工作、沒有認真考慮其工具支撐有很大關系。做ETL產(chǎn)品的選型,仍然需要從以前說的四點(即成本、人員經(jīng)驗、案例和技術支持)來考量。在此,主要列舉三種主流ETL產(chǎn)品:Ascential公司的Datastage、Informatica公司的Powercenter、 NCR Teradata公司的ETL A

2、utomation、Oracel 公司的ODI、國產(chǎn)udis睿智ETL、其中,ETL Automation相對其他兩種有些特別之處,放在后面評述。旗鼓相當:Datastage與Powercenter:就Datastage和Powercenter而言,這兩者目前占據(jù)了國內市場絕大部分的份額,在成本上看水平相當,雖然市面上還有諸如Business Objects公司的Data Integrator、Cognos公司的DecisionStream,但尚屬星星之火,未成燎原之勢。談Datastage和Powercenter,如果有人說這個就是比那個好,那聽者就要小心一點了。在這種情況下有兩種可能:他或

3、者是其中一個廠商的員工,或者就是在某個產(chǎn)品上有很多經(jīng)驗而在另一產(chǎn)品上經(jīng)驗缺乏的開發(fā)者。為什么得出這一結論?一個很簡單的事實是,從網(wǎng)絡上大家對它們的討論和爭執(zhí)來看,基本上是各有千秋,都有著相當數(shù)量的成功案例和實施高手。確實,工具是死的,人才是活的。在兩大ETL工具技術的比對上,可以從對ETL流程的支持、對元數(shù)據(jù)的支持、對數(shù)據(jù)質量的支持、維護的方便性、定制開發(fā)功能的支持等方面考慮。一個項目中,從數(shù)據(jù)源到最終目標表,多則上百個ETL過程,少則也有十幾個。這些過程之間的依賴關系、出錯控制以及恢復的流程處理,都是工具需要重點考慮。在這一方面,Datastage的早期版本對流程就缺乏考慮,而在6版本則加入

4、Job Sequence的特性,可以將Job、shell腳本用流程圖的方式表示出來,依賴關系、串行或是并行都可以一目了然,就直觀多了。Powercenter有Workflow的概念,也同樣可以將Session串聯(lián)起來,這和Datastage Sequence大同小異。ETL的元數(shù)據(jù)包括數(shù)據(jù)源、目標數(shù)據(jù)的結構、轉換規(guī)則以及過程的依賴關系等。在這方面,Datastage和Powercenter從功能上看可謂不分伯仲,只是后者的元數(shù)據(jù)更加開放,存放在關系數(shù)據(jù)庫中,可以很容易被訪問(Informatic把Metadata全部放在數(shù)據(jù)庫中而Datastage是自己管理Metadata,不依賴任何數(shù)據(jù)庫.

5、)。此外,這兩個廠家又同時提供專門的元數(shù)據(jù)管理工具,Ascential有Metastage,而Informatica擁有Superglue。你看,就不給你全部功能,變著法子從你口袋里面多掏點錢。數(shù)據(jù)質量方面,兩種產(chǎn)品都采用同樣的策略獨立出ETL產(chǎn)品之外,另外有專門的數(shù)據(jù)質量管理產(chǎn)品。例如和Datastage配套用的有ProfileStage和QualityStage,而Informatica最近也索性收購了原先OEM的數(shù)據(jù)質量管理產(chǎn)品FirstLogic。而在它們的ETL產(chǎn)品中,只是在Job或是Session前后留下接口,所謂前過程、后過程,雖然不是專為數(shù)據(jù)質量預留的接口,不過至少可以利用它外

6、掛一些數(shù)據(jù)質量控制的模塊。在具體實現(xiàn)上看,Datastage通過Job實現(xiàn)一個ETL過程,運行時可以通過指定不同參數(shù)運行多個實例。Powercenter通過Mapping表示一個ETL過程,運行時為Session,綁定了具體的物理數(shù)據(jù)文件或表。在修改維護上,這兩個工具都是提供圖形化界面。這樣的好處是直觀、傻瓜式的;不好的地方就是改動還是比較費事(特別是批量化的修改)。定制開發(fā)方面,兩者都提供抽取、轉換插件的定制,但筆者認為,Datastage的定制開發(fā)性要比Powercenter要強那么一點點。因為Datastage至少還內嵌一種類BASIC語言,可以寫一段批處理程序來增加靈活性,而Power

7、center似乎還缺乏這類機制。另外從參數(shù)控制上,雖然兩者的參數(shù)傳遞都是比較混亂的,但Datastage至少可以對每個job設定參數(shù),并且可以job內部引用這個參數(shù)名;而Powercenter顯得就有些偷懶,參數(shù)放在一個參數(shù)文件中,理論上的確可以靈活控制參數(shù),但這個靈活性需要你自己更新文件中的參數(shù)值(例如日期更新)。另外,Powercenter還不能在mapping或session中引用參數(shù)名,這一點就讓人惱火??偲饋砜矗珼atastage和Powercenter可謂旗鼓相當,在國內也都有足夠的支持能力,Datastage在2005年被IBM收購之后,可以說后勁十足。而Informatica則

8、朝著BI全解決方案提供商方向發(fā)展,Powercenter顯然還將是它的核心產(chǎn)品。ODIODI提出了知識模塊的概念,把這些場景的詳細的實現(xiàn)步驟作為一個一個的知識模塊并使用Jython腳本語言結合數(shù)據(jù)庫的SQL語句錄制成一步一步的步驟忠實地記錄下來,這樣就形成了ODI里的100多個知識模塊,基本上包含了所有普通應用所涉及到的所有場景。更方便的是,用戶既可以直接使用ODI的知識模塊完成數(shù)據(jù)的獲取工作,也可以直接在知識模塊上面做各種定制,比如某一個業(yè)務場景可能并不需要知識模塊里的某一個特定的步驟,那就可以直接把該步驟刪除掉從而提供更好的性能。當然用戶也可以完全自己來開發(fā)這些知識模塊。ODI的知識模塊主

9、要分為幾個大類(RKM,CKM,LKM,IKM,SKM),其中最重要的是LKM(load KM)和IKM(Integration KM)RKM。RKM:完成從源系統(tǒng)和目標系統(tǒng)的數(shù)據(jù)結構的反向工程來形成數(shù)據(jù)模型的功能。CKM:CKM完成數(shù)據(jù)質量檢查。LKM:LKM完成從源數(shù)據(jù)庫數(shù)據(jù)加載到臨時表。IKM:IKM完成從臨時表的數(shù)據(jù)加載到目標表。SKM:SKM完成ODI和WEB服務接口的功能。ODI的性能不是很好,Powercenter > Datastage > ODI獨樹一幟:Teradata的ETL Automation繼續(xù)要說的第三種產(chǎn)品是Teradata的ETL Automati

10、on。之所以拿它單獨來說是因為它和前面兩種產(chǎn)品的體系架構都不太一樣。與其說它是ETL工具,不如說是提供了一套ETL框架。它沒有將注意力放在如何處理“轉換”這個環(huán)節(jié)上,而是利用Teradata數(shù)據(jù)庫本身的并行處理能力,用SQL語句來做數(shù)據(jù)轉換的工作,其重點是提供對ETL流程的支持,包括前后依賴、執(zhí)行和監(jiān)控等。這樣的設計和Datastage、Powercenter風格迥異,后兩者給人的印象是具有靈活的圖形化界面,開發(fā)者可以傻瓜式處理ETL工作,它們一般都擁有非常多的“轉換”組件,例如聚集匯總、緩慢變化維的轉換。而對于Teradata的ETL Automation,有人說它其實應該叫做ELT,即裝載

11、是在轉換之前的。的確,如果依賴數(shù)據(jù)庫的能力去處理轉換,恐怕只能是ELT,因為轉換只能在數(shù)據(jù)庫內部進行。從這個角度看,Automation對數(shù)據(jù)庫的依賴不小,似乎是一種不靈活的設計。也正是這個原因,考慮它的成本就不單單是ETL產(chǎn)品的成本了。其實,在購買現(xiàn)成的工具之外,還有自己從頭開發(fā)ETL程序的。ETL工作看起來并不復雜,特別是在數(shù)據(jù)量小、沒有什么轉換邏輯的時候,自己開發(fā)似乎非常節(jié)省成本。的確,主流的ETL工具價格不菲,動輒幾十萬;而從頭開發(fā)無非就是費點人力而已,可以控制。至于性能,人大多是相信自己的,認為自己開發(fā)出來的東西知根知底,至少這些程序可以完全由自己控制。就目前自主開發(fā)的ETL程序而言

12、,有人用c語言編寫,有人用存儲過程,還有人用各種語言混雜開發(fā),程序之間各自獨立。這很危險,雖然能夠讓開發(fā)者過足編碼的癮,卻根本不存在架構。有位銀行的朋友,他們幾年前上的數(shù)據(jù)倉庫系統(tǒng),就是集成商自己用c語言專門為他們的項目開發(fā)的。單從性能上看似乎還不賴,然而一兩年下來,項目組成員風雨飄零,早已物是人非,只有那套程序還在那里;而且,按照國內目前的軟件工程慣例,程序注釋和文檔是不全或者是不一致的,這樣的程序已經(jīng)對日常業(yè)務造成很大阻礙。最近,他們已經(jīng)開始考慮使用ETL工具重新改造了。國產(chǎn)ETL軟件udis睿智ETL : 再來看國產(chǎn)的, 采用SOA架構體系,具有更好的方便性和靈活性.缺點是配置復雜,缺少對元數(shù)據(jù)的管理。ETL工具選型參照表工具優(yōu)點缺點主流工具Datastage內嵌一種類BASIC語言,可通過批處理程序增加靈活性,可對每個job設定參數(shù)并在job內部引用早期版本對流程支持缺乏考慮;圖形化界面改動費事Powercenter元數(shù)據(jù)管理更為開放,存放在關系數(shù)據(jù)庫中,可

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論