DW2.0下一代資料倉儲架構_第13章 ETL處理與DW2.0(讀書筆記)

thamsyangsw發表於2014-11-05

版權宣告:
該系列文章(DW2.0下一代資料倉儲架構)內容系作者學習用筆記,
歡迎共同學習,所載內容版權歸原書作(譯)者所有,請勿轉載商用。
 
    DW2.0中最重要的過程之一是ETL--抽取/轉換/裝載的處理過程。ETL處理在資料進入互動區或者資料從互動區進入整合區時收集、整理並
整合資料。ETL處理過程對於DW2.0環境中的日常操作是最基本的過程。
 
轉換資料狀態
    ETL是一種典型的比純資料流更加強大的東西,是一種改變資料狀態的機制。當資料透過並被ETL處理轉換時,它經歷了一次根本性的
狀態轉變,從應用狀態演變到企業狀態。這一根本性的改變時DW2.0基本理論和存在的核心。ETL並不僅僅完成資料的收集和傳輸工作,其對
資料狀態的改變也非常重要,這也是ETL在DW2.0中的基本元件的原因。

ETL使用範圍
    從業務系統到DW2.0互動區,從互動區到整合區是ETL過程的使用範圍。ETL處理過程能做很多事情,它能行已經多年不被主流DBMS使用的
技術中收集那些遺留的資料。收集這樣的資料不是件容易的事情,因為每一箇舊的應用環境的介面都需要採用其自己的技術完成。當收集到
這些遺留資料後,真正的資料轉換工作開始了。就的遺留系統的最大問題是,他們在設計之初並不是同構的,在結構、格式、計算、資料定
義以及其他語義方面都存在差異。要想使舊的應用資料適用於企業資料環境還需要做大量的工作,而正是由ETL來完成對舊資料主要糾正工作

應用資料到企業資料的轉換
    ETL將應用資料轉換為企業資料。ETL處理能夠以兩種基本的模式進行操作:線上實時處理和批處理。

ETL工作模式
    當ETL以線上模式工作時,從執行舊資料處理開始,到這一處理反映在DW2.0中為止,這段時間以很短的時間單位來衡量,比如毫秒。實
時ETL的問題是,速度通常被看做是主要的成功因素。正式因為速度成為衡量成功的主要標準,所以進入DW2.0的資料能夠被轉換的並不多。
另一種ETL處理模式是批處理模式。在該模式下,舊系統中的交易首先被批次儲存,然後在合適的時間對這一批交易執行ETL處理。這意味著
從舊系統處理了交易到DW2.0意識到這一交易資料恐怕已經過了24小時甚至更長時間了。批次ETL的一個優點是有足夠的時間進行有效地資料
轉換處理。通常實時ETL比較昂貴並且沒有多少轉換操作,批處理ETL過程無法在系統中快速移動資料,但它便宜的多且支援更多的資料轉換
究竟選擇批處理ETL還是實時ETL更多的是一種商業選擇。

源和目標
    分析人員在源運算元據進入資料倉儲之前,就透過建立源到目標的對映決定了應用那種ETL邏輯。這種對映簡單地說明了哪些資料必須
放置在DW2.0中,這些資料來自哪裡,對這些資料要做那些必要的邏輯操作、計算或格式轉換。資料來源--操作應用系統環境--成為“源”,
資料在DW2.0中所處的位置成為“目標”,產生原始資料的原系統成為“記錄系統”。在流向DW2.0的各單後設資料的源到目標的對映過程中
以下問題是必須要回答的:
    1、哪個原系統中的哪個特定單元的資料將構成資料倉儲中的資料?
    2、如何處理相同資料的多個來源?
    3、如果需要資料的預設值必須做些什麼?
    4、必須做那些邏輯操作才能使得資料適應企業狀態?
    5、為將資料重組為企業資料,必須做那些計算?
    6、為了建立企業資料,必須完成那些重構和格式轉換

ETL對映
   業務規則是管理對映到DW2.0中的資料的必要元件之一,它對送往DW2.0的資料有著顯著的影響,提示著資料的正確性和質量。但是,不同
遺留系統的業務規則不同。因此ETL過程必須向裁判一樣來決定對於個單後設資料而言那些業務規則凌駕於其他規則之上。

狀態轉換--例項
    資料在經過ETL處理過程時轉換狀態。ETL處理將資料由應用狀態轉換為企業狀態。很多情況下資料只是由一個環境轉換到另一個環境,
因為它的操作狀態和企業狀態根本沒有差別。但是另外一些情況中,需要進行顯著的資料轉換。有些情況下,有人說:“我無法相信DW2.0
的資料,因為我上週執行了一個保鏢,現在執行相同報表卻得到不同的回答”。產生這種困惑的原因是人們不理解企業資料和應用資料之間
的差異,事實上,來自不同源的報表應該是不同的。這種差異是由應用資料轉換到企業資料的轉換引起的。

更加複雜的轉換
    當需要轉換資料關鍵字時,資料轉換就變得困難了。通常,當需要轉換關鍵字時,需選定一個被認為合適的應用程式的關鍵字,其他應
用程式都遵循這種關鍵字結構。雖然大多數關鍵字轉換都是透過選定一種關鍵字格式來解決的,但賊ETL過程中偶爾也需呀將資料的關鍵字
完全轉換或替換成一種全新的關鍵字格式。無論以什麼樣的方法,在設計ETL時都必須制定資料關鍵字轉換規則。

ETL和吞吐量
    資料吞吐量是ETL處理另一個關注的問題。即使是隻包含執行一個操作的最簡單的ETL處理,如果吞吐量方面有問題,也可以並行化ETL。
當一個ETL工作流被並行時,一部分資料經過一個ETL處理,另一部分工作流經同一ETL處理的另一個複製。ETL處理和工作流被多次複製,直
至獲得令人滿意的吞吐量。並行ETL吞吐流的建立大大削減了整個資料ETL處理所耗費的時間。從理論上說,ETL處理必須完成大量的轉換活動
其中任意一個轉換通常都不是很複雜,但是在資料的一次通行中必須完成所有的轉換,對於ETL處理而言這的確很複雜。
    可能發生的ETL處理種類包括:
    1、概括處理
    2、日期格式的調整
    3、邏輯規範,例如將“Male/Famale”轉換為“M/F”
    4、資料聚合
    5、預設值的提供
    6、DBMS轉換
    7、關鍵字的重構和建立。等

ETL與後設資料
    ETL可以用於建立資料轉換的一個可稽核的記錄,即一條被置於後設資料中的資料轉換稽核記錄。後設資料成為ETL處理一個重要輔助副產品
分析人員在設計ETL處理時建立的源到目標資料對映不過就是一個資料轉換稽核記錄,也就是後設資料。源到目標資料對映是關於資料的資料
是關於資料如何按照自身的方式轉換進入資料倉儲的具體收,因此也是一種跟蹤ETL資料轉換的設計。對於決策分析人員而言,ETL資料轉換
後設資料可能是非常重要的工具。終端使用者往往想從分析用的資料中找到更多資訊,後設資料zuoweiETL資料轉換處理的副產品,成為終端使用者
需求的容易獲得的第一步。

ETL與稽核記錄
    在與源資料經過ETL處理時獲得和提供可用的後設資料同樣重要的是,對ETL處理的稽核記錄的需要。稽核記錄可以在後設資料經過ETL處理
後留下來。稽核記錄與後設資料非常相似,然而稽核記錄包含了更多關於資料經過ETL處理的詳細資料。典型的資料轉換稽核記錄包括:
    1、一天中處理的記錄數
    2、ETL成功完成大批記錄處理工作的指示
    3、一天中ETL失敗的次數
    4、任何ETL失敗的原因
    5、如何解決失敗的描述
    6、新加入DW2.0的記錄數
    7、讀入ETL處理的記錄數
    8、ETL啟動和執行的時長

ETL和資料質量
    資料經過ETL處理時,可以做些基本的資料質量檢查甚至編輯工作。由於源資料無論如何都必須透過ETL處理才能進入資料倉儲,所以在
ETL中只需要少數額外的資源以評估資料質量。以下資料質量檢查很容易做到:域檢查;範圍檢查;合理性檢查。應當指出的是,ETL處理中
做的任何資料質量保證都僅限於對單個資料記錄的處理中。乳溝需要多條資料記錄來確定資料合法性和質量,那麼這種資料質量核查/檢查
對ETL來說是很難做到的。
 
建立ETL
    1、採用程式語言從零開始建立ETL;2、購買第三方ETL軟體。從零開始建立ETL處理的有點在於它能夠執行機構想要的和具體規定的任何
邏輯操作,任何能被程式設計實現的東西都可以包含在一個ETL中。它的缺點是絕大部分ETL程式都是標準例程,不需要做任何規定。此外,隨著
時間的推移,維護程式碼是一種不佳的,昂貴的,消耗資源的方法。採用第三方軟體的優點在於能夠比上述方法更迅速地建立ETL處理。另外,
第三方軟體的程式碼更容易維護。問題在於幾乎總需要那麼一些專門的資料轉換演算法,他們是如此複雜,以至於難以整合進任何之前已經程式設計
實現的第三方技術中。

ETL與丟棄
    對ETL而言,如何處理丟棄的資料是其面對的主要挑戰之一。
    1、根本不允許丟棄額的資料進入資料倉儲。這種方法將那些可能正確且有用的資料阻擋在外。
    2、為那些已知不正確的資料提供預設值。這種方法允許所有的其他附隨的有效資料進入資料倉儲。一個重要的警告是,這種方法可能會
       會在做資料彙總或其他資料分析時產生非常不規則或不可靠的結果。
    3、將無效資料入庫並做標記。這樣分析員就知道該資料是無效的
    4、建立一個丟棄檔案。只要丟棄檔案能夠被自動處理,這種方法是個好方法,但是如果丟棄記錄需要手動處理,不建議使用

ELT
    在ETL中資料經過抽取、轉換後再載入資料倉儲;ELT是先抽取載入資料然後再進行轉換。ELT存在一些基本的問題:1、資料的清理,完
全有可能在抽取並裝載之後忘記做轉換工作,這當然是不能接受的。2、資料被載入資料倉儲後做轉換,會引起資料完整性的問題。所以ELT
並不是一個好的架構選擇。

總結:
    ETL是用於轉換資料狀態的過程。資料透過ETL處理後由應用狀態轉換為企業狀態。ETL處理發生在資料進入互動區時,在資料由互動區進
入整合區時會再次發生。
    ETL可以以線上模式和批處理模式執行。在以線上模式執行時強調資料的移動,而以批處理模式執行時強調資料的轉換。
    資料的產生地稱為源,資料的去處稱為目標,顯示資料如何從源到目標的邏輯稱為對映,全部資料的源的集合稱為記錄系統。
    在大量資料需要進入目的地時,ETL處理可以一種並行的方式執行。
    ETL的一個副產品是用於描述資料移動的後設資料,它的另一個副產品是稽核記錄。
    除了資料轉換之外,ETL處理還包含了簡單地資料質量檢查。
    ETL處理可以完全自主開發實現,也可以利用第三方廠商提供的軟體來實現。
       

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26613085/viewspace-1320864/,如需轉載,請註明出處,否則將追究法律責任。

相關文章