沈陽市建設(shè)工程質(zhì)量監(jiān)督局網(wǎng)站神馬推廣登錄
正確選擇 ETL 工具,可以從 ETL 對平臺的支持、對數(shù)據(jù)源的支持、數(shù)據(jù)轉(zhuǎn)換功能、管理 和調(diào)度功能、集成和開放性、對元數(shù)據(jù)管理等功能出發(fā),具體如下。
支持平臺
? ? ? ?隨著各種應(yīng)用系統(tǒng)數(shù)據(jù)量的飛速增長和對業(yè)務(wù)可靠性等要求的不斷提高,人們對數(shù)據(jù)抽 取工具的要求往往是將幾十、上百個 GB 的數(shù)據(jù)在有限的幾個小時內(nèi)完成抽取轉(zhuǎn)換和裝載工 作,這種挑戰(zhàn)勢必要求抽取工具對高性能的硬件和主機提供更多支持。 因此,我們可以從數(shù)據(jù)抽取工具支持的平臺,來判斷它能否勝任企業(yè)的環(huán)境,目前主流 的平臺包括 SUN Solaris、HP-UX、IBM AIX、AS/400、OS/390、Sco UNIX、Linux、Windows 等。
支持?jǐn)?shù)據(jù)源
對數(shù)據(jù)源支持的重要性不言而喻,因此這個指標(biāo)必須仔細(xì)地考量。
首先,我們需要對項 目中可能會遇到的各種數(shù)據(jù)源有一個清晰的認(rèn)識;
其次對各種工具提供的數(shù)據(jù)源接口類型也 要有深入了解,比如,針對同一種數(shù)據(jù)庫,使用通用的接口(如 ODBC/JDBC)還是原廠商自 己的專用接口,數(shù)據(jù)抽取效率都會有很大差別,這直接影響到我們能不能在有限的時間內(nèi)完 成 ETL 任務(wù)。
這里,筆 者列出一些常見的數(shù)據(jù)源供參考:DB2、Informix、Oracle、Sybase、SQL Server、 Teredata、OleDB、SAS、Text、Excel、SAP、Peoplesoft、IMS、VSAM、QSAM on 390、FTP、 XML、MessageQueue、Weblog 等。
數(shù)據(jù)轉(zhuǎn)換功能
數(shù)據(jù)轉(zhuǎn)換是 ETL 中最令人頭疼的問題,由于業(yè)務(wù)系統(tǒng)的開發(fā)一般有一個較長的時間跨度, 這就造成一種數(shù)據(jù)在業(yè)務(wù)系統(tǒng)中可能會有多種完全不同的存儲格式,甚至還有許多數(shù)據(jù)倉庫 分析中所要求的數(shù)據(jù)在業(yè)務(wù)系統(tǒng)中并不直接存在,而是需要根據(jù)某些公式對各部分?jǐn)?shù)據(jù)進行 計算才能得到。因此,這就要求 ETL 工具必須對所抽取的數(shù)據(jù)進行靈活的計算、合并、拆分 等轉(zhuǎn)換操作。
通常情況下,我們遇到的 ETL 轉(zhuǎn)換要求包括:
字段映射;映射的自動匹配;字段的拆分; 多字段的混合運算;跨異構(gòu)數(shù)據(jù)庫的關(guān)聯(lián);自定義函數(shù);多數(shù)據(jù)類型支持;復(fù)雜條件過濾; 支持臟讀;數(shù)據(jù)的批量裝載;時間類型的轉(zhuǎn)換;對各種碼表的支持;環(huán)境變量是否可以動態(tài) 修改;去重復(fù)記錄;抽取斷點;記錄間合并或計算;記錄拆分;抽取的字段是否可以動態(tài)修 改;行、列變換;排序;統(tǒng)計;度量衡等常用的轉(zhuǎn)換函數(shù);代理主鍵的生成;調(diào)試功能;抽 取遠程數(shù)據(jù);增量抽取的處理方式;制造樣品數(shù)據(jù);在轉(zhuǎn)換過程中是否支持?jǐn)?shù)據(jù)比較的功能; 數(shù)據(jù)預(yù)覽;性能監(jiān)控;數(shù)據(jù)清洗及標(biāo)準(zhǔn)化;按行、按列的分組聚合等。
管理和調(diào)度功能
? ? ? ?由于我們對數(shù)據(jù)抽取的要求越來越高以及專業(yè) ETL 工具的不斷涌現(xiàn),ETL 過程早已不再 是一個簡單的小程序就可完成的,目前主流的工具都采用像多線程、分布式、負(fù)載均衡、集 中管理等高性能高可靠性與易管理和擴展的多層體系架構(gòu)。因此,這就要求 ETL 在管理和調(diào) 度功能上都具備相應(yīng)的功能。
? ? ? ?管理和調(diào)度的基本功能包括:抽取過程的備份與恢復(fù);升級;版本管理;開發(fā)和發(fā)布; 支持統(tǒng)一以及自定義的管理平臺;支持時間觸發(fā)方式;支持事件觸發(fā)方式;支持命令行執(zhí)行 方式;支持用戶對計算機資源的管理和分配;負(fù)載均衡;文檔的自動生成;調(diào)度過程中能否 執(zhí)行其他任務(wù)等。
集成和開放性
? ? ? ? 隨著數(shù)據(jù)倉庫技術(shù)在國內(nèi)應(yīng)用的不斷深入,許多開發(fā)商希望不向用戶提供 ETL 工具的原 來操作界面,而是將其一些主要功能模塊嵌入到自己的系統(tǒng)或其他廠商的系統(tǒng)中,因為在大 多數(shù)情況下一般項目只會用到 ETL 工具的少數(shù)幾個功能,同時也沒有必要給用戶提供那么復(fù) 雜的操作環(huán)境,其結(jié)果反而使用戶容易產(chǎn)生操作錯誤。
? ? ? ?上述問題就要求 ETL 工具能提供很好的集成性和開放性,
可以從幾方面考量:與 OLAP 集成;與前端工具集成;與建模工具集成;開放的 API 可將產(chǎn)品集成到統(tǒng)一界面;是否能調(diào) 用各種外部應(yīng)用,包括存儲過程、各種流行語言開發(fā)的應(yīng)用程序等;是否支持客戶化定制的 轉(zhuǎn)換過程;是否支持與統(tǒng)計分析工具的集成等。
管理元數(shù)據(jù)
? ? ? ?元數(shù)據(jù)是關(guān)于數(shù)據(jù)的數(shù)據(jù),尤其對于 ETL 來說尤其重要。ETL 中大量的數(shù)據(jù)源定義、映 射規(guī)則、轉(zhuǎn)換規(guī)則、裝載策略等都屬于元數(shù)據(jù)范疇,如何妥善地存儲這些信息已經(jīng)關(guān)系到 ETL 過程能否順利完成而且影響到后期的使用和維護。任何業(yè)務(wù)邏輯的微小改變最終都落實為相 應(yīng)元數(shù)據(jù)的調(diào)整,初期沒有一個完善的元數(shù)據(jù)管理功能而后期作類似調(diào)整幾乎是“不可完成 的任務(wù)”?;谠獢?shù)據(jù)的重要性,國際組織提出一些統(tǒng)一的元數(shù)據(jù)存儲標(biāo)準(zhǔn),比較知名的如 CWM 等,為不同廠商工具之間互操作提供了可能性,相信也是今后的發(fā)展趨勢。
? ? ? ?針對 ETL 的元數(shù)據(jù)管理,筆者認(rèn)為應(yīng)包括:元數(shù)據(jù)存儲的開放性;元數(shù)據(jù)存儲的可移植 性;提供多種方式訪問元數(shù)據(jù);元數(shù)據(jù)的版本控制;支持開放的元數(shù)據(jù)標(biāo)準(zhǔn);支持 XML 進行 元數(shù)據(jù)交換;支持分布式的元數(shù)據(jù)訪問和管理;生成元數(shù)據(jù)報表;對于 ETL 過程的沖突分析; 基于元數(shù)據(jù)的查詢功能;元數(shù)據(jù)的廣播和重用;對于 ETL 過程的流程分析等。
主流的 ETL 工具
目前市場上主流的 ETL 工具可以分為兩大類:
一類是專業(yè) ETL 廠商的產(chǎn)品,這類產(chǎn)品一 般都具備較完善的體系結(jié)構(gòu)和久經(jīng)考驗的產(chǎn)品,產(chǎn)品的功能之復(fù)雜和詳盡,往往能令初次接 觸的人膛目,但其高昂的價格也會使一般用戶望而卻步;
另一類是整體數(shù)據(jù)倉庫方案供應(yīng)商,他們在提供數(shù)據(jù)倉庫存儲、設(shè)計、展現(xiàn)工具的同時也提供相應(yīng)的 ETL 工具,這類產(chǎn)品一般對 自己廠商的相關(guān)產(chǎn)品有很好的支持并能發(fā)揮出其最大效率,但結(jié)構(gòu)相對封閉,對其他廠商產(chǎn) 品的支持也很有限。
專業(yè) ETL 廠商和產(chǎn)品包括 Ascential 公司的 DataStageXE、Sagent 公司的 Solution 和 Informatica 公司的產(chǎn)品,
整體方案提供商和產(chǎn)品則包括 Oracle 公司的 Warehouse Builder 和 IBM 公司的 Warehouse Manager , IBM Datastage