數據倉庫中的數據來自于多種業務數據源,這些數據源可能是不同硬件平臺上,使用不同的操作系統,數據模型也相差很遠,因而數據以不同的方式存在不同的數據庫中。如何獲取并向數據倉庫加載這些數據量大、種類多的數據,已成為建立數據倉庫所面臨的一個關鍵問題。針對目前系統的數據來源復雜,而且分析應用尚未成型的現狀,強烈推薦使用專業的數據抽取、轉換和裝載工具DataStage。
DataStage 是一套專門對多種操作數據源的數據抽取、轉換和維護過程進行簡化和自動化,并將其輸入數據集市或數據倉庫目標數據庫的集成工具。
DataStage 能夠處理多種數據源的數據,包括主機系統的大型數據庫、開放系統上的關系數據庫和普通的文件系統等,以下列出它所能處理的主要數據源:
大型主機系統數據庫:IMS,DB2,ADABAS,VSAM等
開放系統的關系數據庫:Informix,Oracle,Sybase,DB2,Microsoft SQL Server等
ERP系統:SAP/R3,PeopleSoft系統等
普通文件和復雜文件系統,FTP文件系統,XML等
IIS,Netscape,Apache等Web服務器系統
Outlook等Email系統
DataStage可以從多個不同的業務系統中,從多個平臺的數據源中抽取數據,完成轉換和清洗,裝載到各種系統里面。其中每步都可以在圖形化工具里完成,同樣可以靈活的被外部系統調度,提供專門的設計工具來設計轉換規則和清洗規則等,實現了增量抽取、任務調度等多種復雜而實用的功能。其中簡單的數據轉換可以通過在界面上拖拉操作和調用一些DataStage預定義轉換函數來實現,復雜轉換可以通過編寫腳本或結合其他語言的擴展來實現,并且DataStage提供調試環境,可以極大提高開發和調試抽取、轉換程序的效率。
根據以往的項目實施經驗,通常數據抽取工作分抽取、清洗、轉換、裝載幾個步驟:
抽取主要是針對各個業務系統及不同網點的分散數據,充分理解數據定義后,規劃需要的數據源及數據定義,制定可操作的數據源,制定增量抽取的定義。
清洗主要是針對系統的各個環節可能出現的數據二義性、重復、不完整、違反業務規則等問題,允許通過試抽取,將有問題的紀錄先剔除出來,根據實際情況調整相應的清洗操作。
轉換主要是針對數據倉庫建立的模型,通過一系列的轉換來實現將數據從業務模型到分析模型,通過內建的庫函數、自定義腳本或其他的擴展方式,實現了各種復雜的轉換,并且支持調試環境,清楚的監控數據轉換的狀態。
裝載主要是將經過轉換的數據裝載到數據倉庫里面,可以通過數據文件直接裝載或直連數據庫的方式來進行數據裝載,可以充分體現高效性。在應用的時候可以隨時調整數據抽取工作的運行方式,可以靈活的集成到其他管理系統中