轉:三大主流ETL工具選型
做資料轉換有不短的時間了,積累的經驗不能滿足新增的需求,上網找了一些ETL的資料,記錄之,供參考
[@more@]資料“大力擒拿手”
———三大主流ETL工具淺析
本報特約撰稿人 劉慶 2006-4-12 閱讀人次:10875
-->
-->
BI專案中最耗費人力的環節是什麼?恐怕還要數ETL(抽取、轉換和裝載)工具。在傳統的非BI專案中同樣存在很多“導資料”的工作,那麼,在資料倉儲中又該如何選擇合適的ETL工具來支撐抽取、轉換和裝載三個細分步驟?本期專欄就選取三個主流工具做一選型評析。
ETL產品乍看起來似乎並不起眼,單就此項技術本身而言,幾乎也沒什麼特別深奧之處,但是在實際專案中,卻常常在這個環節耗費太多的人力,而在後續的維護工作中,更是經常讓人傷透腦筋。之所以出現這種狀況,恰恰與專案初期沒有正確估計ETL工作、沒有認真考慮其工具的功能有很大關係。
在此,主要列舉三種主流ETL產品。
旗鼓相當 Datastage與Powercenter
就Datastage和Powercenter而言,這兩者目前佔據了國內市場絕大部分的份額,從成本上看水平相當,雖然市面上還有諸如Business Objects公司的Data Integrator、Cognos公司的DecisionStream,但尚屬星星之火,未成燎原之勢。
談Datastage和Powercenter,如果有人說這個就是比那個好,那聽者就要小心一點了。在這種情況下有兩種可能: 他或者是其中一個廠商的員工,或者就是在某個產品上有很多經驗,而在另一產品上缺乏經驗的開發者。為什麼得出這一結論?一個很簡單的事實是,從網路上大家對它們的討論和爭執來看,基本上是各有千秋,都有著相當數量的成功案例和實施高手。確實,工具是死的,人才是活的。
在兩大ETL工具技術的比對上,可以從以下五個方面考慮。
一個專案中,從資料來源到最終目標表,多則上百個ETL過程,少則也有十幾個。這些過程之間的依賴關係、出錯控制以及恢復的流程處理,都是選擇工具時需要重點考慮的。在這一方面,Datastage的早期版本對流程就缺乏考慮,而在後來則加入Job Sequence的特性,可以將Job、shell指令碼用流程圖的方式表示出來,依賴關係、序列或是並行都可以一目瞭然。Powercenter有Workflow的概念,也同樣可以將Session串聯起來,這和Datastage Sequence大同小異。
ETL的後設資料包括資料來源、目標資料的結構、轉換規則以及過程的依賴關係等。在這方面,Datastage和Powercenter從功能上看可謂不分伯仲,只是後者的後設資料更加開放,存放在關聯式資料庫中,可以很容易被訪問。此外,這兩個廠家又同時提供專門的後設資料管理工具,Ascential有Metastage,而Informatica擁有Superglue。你看,就不給你全部功能,變著法子從你口袋裡面多掏點錢。
資料質量方面,兩種產品都採用同樣的策略—獨立於ETL產品之外,另外有專門的資料質量管理產品。例如和Datastage配套用的有ProfileStage和QualityStage,而Informatica最近也索性收購了原先OEM的資料質量管理產品FirstLogic。
在具體實現上看,Datastage透過Job實現一個ETL過程,執行時可以透過指定不同引數執行多個例項。Powercenter透過Mapping表示一個ETL過程,執行時為Session,繫結了具體的物理資料檔案或表。在修改維護上,這兩個工具都是提供圖形化介面。這樣的好處是直觀、傻瓜式的;不好的地方就是改動還是比較費事的。
定製開發方面,兩者都提供抽取、轉換外掛的定製,但筆者認為,Datastage的定製開發性要比Powercenter強那麼一點點。因為Datastage至少還內嵌一種類BASIC語言,可以寫一段批處理程式來增加靈活性,而Powercenter似乎還缺乏這類機制。
總起來看,Datastage和Powercenter可謂旗鼓相當,在國內也都有足夠的支援能力。Datastage在2005年被IBM收購之後,可以說後勁十足,而Informatica則朝著BI全面解決方案提供商的方向發展,Powercenter顯然還是它的核心產品。
獨樹一幟 NCR Teradata的Automation
第三種產品是NCR Teradata的Automation。之所以拿它單獨來說,是因為它和前面兩種產品的體系架構都不太一樣。與其說它是ETL工具,不如說是提供了一套ETL框架。它沒有將注意力放在如何處理“轉換”這個環節上,而是利用Teradata資料倉儲本身的並行處理能力,用SQL語句來做資料轉換的工作,其重點是提供對ETL流程的支援,包括前後依賴、執行和監控等。
這樣的設計和Datastage、Powercenter風格迥異,後兩者給人的印象是具有靈活的圖形化介面,而 Automation,有人說它其實應該叫做ELT,即裝載是在轉換之前的。的確,如果依賴資料倉儲的能力去處理轉換,恐怕只能是ELT,因為轉換隻能在資料倉儲內部進行。從這個角度看,Automation對資料倉儲的依賴不小,似乎是一種不靈活的設計。也正是這個原因,考慮它的成本就不單單是ETL產品的成本了。
其實,在購買現成的工具之外,還有自己從頭開發ETL程式的。有人用C語言編寫,有人用儲存過程,還有人用各種語言混雜開發,程式之間各自獨立。這很危險,雖然能夠讓開發者過足編碼的癮,卻根本不存在架構。
有位銀行的朋友,他們幾年前上的資料倉儲系統,就是整合商自己用C語言專門為他們的專案開發的。單從效能上看似乎還不錯,然而一兩年下來,專案組成員風雨飄零,早已物是人非,只有那套程式還在那裡;而且,按照國內目前的軟體工程慣例,程式註釋和文件不全或者不一致,這樣的程式已經對日常業務造成很大阻礙。最近,他們已經開始考慮使用ETL工具重新改造了。
ETL工具選型參照表
工具
優點
缺點
主流工具
Datastage
內嵌一種類BASIC語言,可透過批處理程式增加靈活性,可對每個job設定引數並在job內部引用
早期版本對流程支援缺乏考慮;圖形化介面改動費事
Powercenter
後設資料管理更為開放,存放在關聯式資料庫中,可以很容易被訪問
沒有內嵌類BASIC語言,引數值需人為更新,且不能引用引數名;圖形化介面改動費事
Automation
提供一套ETL框架,利用Teradata資料倉儲本身的並行處理能力
對資料庫依賴性強,選型時需要考慮綜合成本(包括資料庫等)
自主開發
相對於購買主流ETL工具,成本較低
各種語言混雜開發,無架構可言,後期維護難度大。
新增人:孫可
資料“大力擒拿手”
———三大主流ETL工具淺析
本報特約撰稿人 劉慶 2006-4-12 閱讀人次:10875
-->
BI專案中最耗費人力的環節是什麼?恐怕還要數ETL(抽取、轉換和裝載)工具。在傳統的非BI專案中同樣存在很多“導資料”的工作,那麼,在資料倉儲中又該如何選擇合適的ETL工具來支撐抽取、轉換和裝載三個細分步驟?本期專欄就選取三個主流工具做一選型評析。
ETL產品乍看起來似乎並不起眼,單就此項技術本身而言,幾乎也沒什麼特別深奧之處,但是在實際專案中,卻常常在這個環節耗費太多的人力,而在後續的維護工作中,更是經常讓人傷透腦筋。之所以出現這種狀況,恰恰與專案初期沒有正確估計ETL工作、沒有認真考慮其工具的功能有很大關係。
在此,主要列舉三種主流ETL產品。
旗鼓相當 Datastage與Powercenter
就Datastage和Powercenter而言,這兩者目前佔據了國內市場絕大部分的份額,從成本上看水平相當,雖然市面上還有諸如Business Objects公司的Data Integrator、Cognos公司的DecisionStream,但尚屬星星之火,未成燎原之勢。
談Datastage和Powercenter,如果有人說這個就是比那個好,那聽者就要小心一點了。在這種情況下有兩種可能: 他或者是其中一個廠商的員工,或者就是在某個產品上有很多經驗,而在另一產品上缺乏經驗的開發者。為什麼得出這一結論?一個很簡單的事實是,從網路上大家對它們的討論和爭執來看,基本上是各有千秋,都有著相當數量的成功案例和實施高手。確實,工具是死的,人才是活的。
在兩大ETL工具技術的比對上,可以從以下五個方面考慮。
一個專案中,從資料來源到最終目標表,多則上百個ETL過程,少則也有十幾個。這些過程之間的依賴關係、出錯控制以及恢復的流程處理,都是選擇工具時需要重點考慮的。在這一方面,Datastage的早期版本對流程就缺乏考慮,而在後來則加入Job Sequence的特性,可以將Job、shell指令碼用流程圖的方式表示出來,依賴關係、序列或是並行都可以一目瞭然。Powercenter有Workflow的概念,也同樣可以將Session串聯起來,這和Datastage Sequence大同小異。
ETL的後設資料包括資料來源、目標資料的結構、轉換規則以及過程的依賴關係等。在這方面,Datastage和Powercenter從功能上看可謂不分伯仲,只是後者的後設資料更加開放,存放在關聯式資料庫中,可以很容易被訪問。此外,這兩個廠家又同時提供專門的後設資料管理工具,Ascential有Metastage,而Informatica擁有Superglue。你看,就不給你全部功能,變著法子從你口袋裡面多掏點錢。
資料質量方面,兩種產品都採用同樣的策略—獨立於ETL產品之外,另外有專門的資料質量管理產品。例如和Datastage配套用的有ProfileStage和QualityStage,而Informatica最近也索性收購了原先OEM的資料質量管理產品FirstLogic。
在具體實現上看,Datastage透過Job實現一個ETL過程,執行時可以透過指定不同引數執行多個例項。Powercenter透過Mapping表示一個ETL過程,執行時為Session,繫結了具體的物理資料檔案或表。在修改維護上,這兩個工具都是提供圖形化介面。這樣的好處是直觀、傻瓜式的;不好的地方就是改動還是比較費事的。
定製開發方面,兩者都提供抽取、轉換外掛的定製,但筆者認為,Datastage的定製開發性要比Powercenter強那麼一點點。因為Datastage至少還內嵌一種類BASIC語言,可以寫一段批處理程式來增加靈活性,而Powercenter似乎還缺乏這類機制。
總起來看,Datastage和Powercenter可謂旗鼓相當,在國內也都有足夠的支援能力。Datastage在2005年被IBM收購之後,可以說後勁十足,而Informatica則朝著BI全面解決方案提供商的方向發展,Powercenter顯然還是它的核心產品。
獨樹一幟 NCR Teradata的Automation
第三種產品是NCR Teradata的Automation。之所以拿它單獨來說,是因為它和前面兩種產品的體系架構都不太一樣。與其說它是ETL工具,不如說是提供了一套ETL框架。它沒有將注意力放在如何處理“轉換”這個環節上,而是利用Teradata資料倉儲本身的並行處理能力,用SQL語句來做資料轉換的工作,其重點是提供對ETL流程的支援,包括前後依賴、執行和監控等。
這樣的設計和Datastage、Powercenter風格迥異,後兩者給人的印象是具有靈活的圖形化介面,而 Automation,有人說它其實應該叫做ELT,即裝載是在轉換之前的。的確,如果依賴資料倉儲的能力去處理轉換,恐怕只能是ELT,因為轉換隻能在資料倉儲內部進行。從這個角度看,Automation對資料倉儲的依賴不小,似乎是一種不靈活的設計。也正是這個原因,考慮它的成本就不單單是ETL產品的成本了。
其實,在購買現成的工具之外,還有自己從頭開發ETL程式的。有人用C語言編寫,有人用儲存過程,還有人用各種語言混雜開發,程式之間各自獨立。這很危險,雖然能夠讓開發者過足編碼的癮,卻根本不存在架構。
有位銀行的朋友,他們幾年前上的資料倉儲系統,就是整合商自己用C語言專門為他們的專案開發的。單從效能上看似乎還不錯,然而一兩年下來,專案組成員風雨飄零,早已物是人非,只有那套程式還在那裡;而且,按照國內目前的軟體工程慣例,程式註釋和文件不全或者不一致,這樣的程式已經對日常業務造成很大阻礙。最近,他們已經開始考慮使用ETL工具重新改造了。
ETL工具選型參照表 | |||
工具 | 優點 | 缺點 | |
主流工具 | Datastage | 內嵌一種類BASIC語言,可透過批處理程式增加靈活性,可對每個job設定引數並在job內部引用 | 早期版本對流程支援缺乏考慮;圖形化介面改動費事 |
Powercenter | 後設資料管理更為開放,存放在關聯式資料庫中,可以很容易被訪問 | 沒有內嵌類BASIC語言,引數值需人為更新,且不能引用引數名;圖形化介面改動費事 | |
Automation | 提供一套ETL框架,利用Teradata資料倉儲本身的並行處理能力 | 對資料庫依賴性強,選型時需要考慮綜合成本(包括資料庫等) | |
自主開發 | 相對於購買主流ETL工具,成本較低 | 各種語言混雜開發,無架構可言,後期維護難度大。 |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/271063/viewspace-921906/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 一文了解主流大資料ETL工具大資料
- 8款資料遷移工具選型,主流且實用
- 主流的開源ETL工具清單及優劣說明!
- ETL 是什麼 ETL 工具有哪些 ETL 工具對比 engine
- 國產ETL工具 etl-engine
- ETL介紹與ETL工具比較
- 企業該如何選擇數字化轉型工具?
- 三大主流前端框架介紹及選型方法前端框架
- 選擇ETL工具需要注意什麼技術性問題?
- 部署ETL工具的三種方式,企業應該怎麼選?
- 型別轉換工具類型別
- ETL工具(kettl)使用系列(一)
- 企業該如何選擇數字化轉型工具?_光點科技
- 育碧的幽靈行動:轉型主流的不適感
- ETL工具 etl-engine 能嵌入go語言進行開發的ETL產品Go
- 國產 ETL工具 ETL產品 資料交換系統
- 玩轉TypeScript工具型別(下)TypeScript型別
- DevOps 轉型,只有工具怎麼夠!dev
- 2020主流報表工具對比選型深度測評系列——中國式複雜報表之多源分片報表
- 主流原型設計工具分析原型
- Go小工具系列——型別轉換Go型別
- 試用完幾十款ETL工具後的經驗總結,ETL工具用這三款就足夠了
- 主流敏捷管理工具scrum工具推薦敏捷Scrum
- RestCloud ETL社群 九月精選問答RESTCloud
- RestCloud ETL社群 八月精選問答RESTCloud
- 主流原型設計工具對比原型
- 主流原型設計工具介紹原型
- 主流原型設計工具介紹(●´ϖ`●)原型
- 數字轉型遇阻 ,Riverbed重塑APM工具
- Restcloud ETl實踐之資料行列轉換RESTCloud
- 【ETL工具】DataX + DataXWeb 初使用過程記錄Web
- ETL+BI結合的資料整合工具
- ETL 幾種工具的比較(Kettle,Talend,Informatica )ORM
- NoSQL為什麼需要模式自由的ETL工具 ?SQL模式
- [PY] Word 處理, 技術選型, Word 轉 PDF
- 圖資料庫選型:問題、方法與工具資料庫
- 報表工具選型對比系列 - 大報表
- RestClould ETL 社群版六月精選問答REST
- 10大主流壓力測試工具