關於ETL工具的思考

2021-09-04 12:57:45 字數 1010 閱讀 2506

閱讀

通常認為etl 就是資料抽取, 轉換, 載入的過程, 完全正確. 就像資料庫就是儲存和管理資料的工具一樣, 然而資料庫並不全部是資料的儲存, 最重要的是管理, 即資料的併發性一致性可恢復性管理, 包括一系列的程序和記憶體的管理等等.etl 工具本身也是同樣的問題. 如果只是抽取轉換載入, 相信通過powerbuilder 的資料管道技術並加以封裝或者一系列的語言工具編碼可以做到, 並非很難的事情. 之所以思考, 是因為閱讀了一下簡單的總結一下:

ø 元資料管理, 不管通過dbms 進行儲存也好, 通過xml 或者自己的管理系統也好. 元資料的管理是必須的, 提供了乙個視覺化的資料字典.

ø 和配置工具的整合, 或者內建乙個配置庫管理工具.

ø 專案化管理和整合環境, 統一對系統內的工作流和任務進行管理

ø 任務包中都包含源資料, 目標資料的管理, 其中也包括關聯式資料庫, 平面檔案,xml 檔案,webservice,cobol 等檔案的管理

ø 任務包中提供了一系列的排序, 轉換, 合併, 連線, 過濾, 聚合, 查詢表, 複製, **, 條件分割等等一些通用的資料轉換.

ø 資料流架構和流水線即工作流管理, 幾乎所有的etl 工具都是根據時序進行任務流的處理, 這也符合資料倉儲的過程化處理要求. 其中包括錯誤處理方式, 錯誤報表, 並行處理, 時序等待等等.

ø 可伸縮硬體環境支援, 最大限度的利用硬體的支援.

ø 並行支援, 發揮dbms 的優勢, 或者通過內建的記憶體管理進行處理.

不過我有些懷疑etl 的功效, 據權威人士統計80% 的時間和io 消耗是集中在etl 的抽取和載入環節, 而抽取和載入的速度是由dbms 或者其他資料來源所決定的, 也就是說無論怎麼優化,etl 工具的優化也只有20% 的餘地. 有個玩笑:etl 工具執行的效率肯定比不上最好的程式設計師寫的**的效率, 但是起碼要比最差的程式設計師寫的**要強.

也許etl 工具本身就是乙個管理的平台, 它的意義在於遮蔽底層編碼的細節和異構資料來源, 通過圖形化的方式實現資料流程的排程, 從而提供開發和管理上的效率, 而並非程式執行效率.

關於使用ETL工具Kettle的簡單介紹(二)

該篇主要描述已實現的一種 etl過程 環境描述 由於源端的表結構和正式庫的表結構大部分是一一對應的,所以對於這大部分表進行設計了一套通用的過程進行轉換。現在先來描述該套設計,對於一對多和多對一的過程下章進行描述。設計概述 主要需要設計幾個所需的表,n 第乙個表 該表是用來配置源端表結構與目的端表結構...

微軟ETL工具SSIS的

ms sql server 2005的 ssis sql server integration service 其實就是以前sql 2005的dts 資料轉換服務 的 人。因為這次不光是公升級而已,是乙個大改版,所以直接公升級舊有的dts的話,會出現一些小缺失 甚至是警告。在資料庫裡面,我們常常執行...

常見的幾種ETL工具

etl資料抽取工具 國外 1.datastage 點評 最專業的etl工具,不菲,使用難度一般 2.informatica 點評 專業程度如datastage旗鼓相當,似乎比datastage便宜。informatica powercenter 8.6.1 for win 32bit informa...