etl是什麼

ETL

 

(數據倉庫技術)

ETL,是英文 Extract-Transform-Load 的縮寫,用來描述將數據歷來源端通過抽取(extract)、交互轉換(transform)、加載(load)至目的端的過程。ETL一詞較經常使用在數據倉庫,但其對象並不限於數據倉庫。數據庫

 

ETL工具的典型表明有:Informatica、Datastage、OWB、微軟DTS、 BeeloadKettle等等……
開源的工具備eclipse的etl插件:cloveretl
ETL的質量問題具體表現爲正確性、完整性、一致性、完備性、有效性、時效性和可獲取性等幾個特性。而影響質量問題的緣由有不少,由 系統集成和歷史數據形成的緣由主要包括:業務系統不一樣時期系統之間數據模型不一致;業務系統不一樣時期業務過程有變化;舊系統模塊在運營、人事、財務、辦公系統等相關信息的不一致;遺留系統和新業務、管理系統 數據集成不完備帶來的不一致性。
 
實現ETL,首先要實現ETL轉換的過程。體現爲如下幾個方面:
一、空值處理:可捕獲字段空值,進行加載或替換爲其餘含義數據,並可根據字段空值實現分流加載到不一樣目標庫。
二、規範化數據格式:可實現字段格式約束定義,對於 數據源中時間、數值、字符等數據,可自定義加載格式。
三、拆分數據:依據業務需求對字段可進行分解。例,主叫號 861082585313-8148,可進行區域碼和電話號碼分解。
四、驗證數據正確性:可利用Lookup及拆分功能進行 數據驗證。例如,主叫號861082585313-8148,進行區域碼和電話號碼分解後,可利用Lookup返回主叫網關或交換機記載的主叫地區,進行數據驗證。
五、數據替換:對於因業務因素,可實現無效數據、缺失數據的替換。
六、Lookup:查獲丟失數據 Lookup實現 子查詢,並返回用其餘手段獲取的缺失字段,保證字段完整性。
七、創建ETL過程的主 外鍵約束:對無依賴性的非法數據,可替換或導出到錯誤數據文件中,保證主鍵惟一記錄的加載。
 

體系結構

ETL工具目前有兩種技術架構——ETL架構和 ELT架構,不仔細看好像沒什麼不一樣之處,那麼這兩種架構到底有什麼區別呢? [1] 

ETL架構

在ETL架構中,數據的流向是從源數據流到ETL工具,ETL工具是一個單獨的數據處理引擎,通常會在單獨的硬件服務器上,實現全部數據轉化的工做,而後將數據加載到目標數據倉庫中,若是要增長整個ETL過程的效率,則只能加強ETL工具服務器的配置,優化系統處理流程(通常可調的東西很是少)。IBM的datastage和Informatica的powercenter原來都是採用的這種架構。
ETL架構的優點:
  1. ETL能夠分擔數據庫系統的負載(採用單獨的硬件服務器)
  2. ETL相對於EL-T架構能夠實現更爲複雜的數據轉化邏輯
  3. ETL採用單獨的硬件服務器。.
  4. ETL與底層的數據庫數據存儲無關。

ELT架構

ELT架構中,ELT只負責提供圖形化的界面來設計業務規則,數據的整個加工過程都在目標和源的數據庫之間流動,ELT協調相關的數據庫系統來執行相關的應用,數據加工過程既能夠在源數據庫端執行,也能夠在目標數據倉庫端執行(主要取決於系統的架構設計和數據屬性)。當ELT過程須要提升效率,則能夠經過對相關數據庫進行調優,或者改變執行加工的服務器就能夠達到。通常數據庫廠商會力推該種架構,像 OracleTeradata都極力宣傳ELT架構。
ELT架構的優點:
  1. ELT主要經過數據庫引擎來實現系統的可擴展性(尤爲是當數據加工過程在晚上時,能夠充分利用數據庫引擎的資源)
  2. ELT能夠保持全部的數據始終在數據庫當中,避免數據的加載和導出,從而保證效率,提升系統的可監控性。
  3. ELT能夠根據數據的分佈狀況進行並行處理優化,並能夠利用數據庫的固有功能優化磁盤I/O。
  4. ELT的可擴展性取決於數據庫引擎和其硬件服務器的可擴展性。
  5. 經過對相關數據庫進行性能調優,ETL過程得到3到4倍的效率提高通常不是特別困難。

注意事項

編輯
爲了能更好地實現ETL,用戶在實施ETL過程當中應注意如下幾點:
第一,若是條件容許,可利用數據中轉區對運營數據進行預處理,保證集成與加載的高效性;
第二,若是ETL的過程是主動「拉取」,而不是從內部「推送」,其可控性將大爲加強;
第三,ETL以前應制定流程化的配置管理和標準協議;
第四,關鍵數據標準相當重要。ETL面臨的最大挑戰是當接收數據時其各源數據的異構性和低質量。以電信爲例,A系統按照統計代碼管理數據,B系統按照帳目數字管理,C系統按照語音ID管理。當ETL須要對這三個系統進行集成以得到對客戶的全面視角時,這一過程須要複雜的匹配規則、名稱/地址正常化與標準化。而ETL在處理過程當中會定義一個關鍵數據標準,並在此基礎上,制定相應的數據接口標準。
第五,將數據加載到個體數據集時。在沒有一個集中化的數據庫狀況下,擁有數據模板是很是重要的。它們是標準化的接口,每個個體或者部門數據集市都可以填充。確保你的ETL工具備這樣的功能,可以擴展到一個數據倉庫平臺,將信息從一個數據集市流動到下一個。  [2] 
 

特點功能

編輯
ETL過程在很大程度上受企業對源數據的理解程度的影響,也就是說從業務的角度看 數據集成很是重要。一個優秀的ETL設計應該具備以下功能:

管理簡單

採用 元數據方法,集中進行管理;接口、數據格式、傳輸有嚴格的規範;儘可能不在 外部數據源安裝軟件; 數據抽取系統流程自動化,並有自動調度功能;抽取的數據及時、準確、完整;能夠提供同各類數據系統的接口,系統適應性強;提供軟件框架系統,系統功能改變時,應用程序不多改變即可適應變化;可擴展性強。

標準定義數據

合理的業務模型設計對ETL相當重要。 數據倉庫是企業惟1、真實、可靠的 綜合數據平臺。數據倉庫的設計建模通常都依照三範式、星型模型、雪花模型,不管哪一種設計思想,都應該最大化地涵蓋關鍵業務數據,把運營環境中雜亂無序的數據結構統一成爲合理的、關聯的、分析型的新結構,而ETL則會依照模型的定義去提取數據源,進行轉換、清洗,並最終加載到目標數據倉庫中。
模型的重要之處在於對數據作標準化定義,實現統一的編碼、統一的分類和組織。標準化定義的內容包括:標準代碼統1、業務 術語統一。ETL依照模型進行初始加載、增量加載、緩慢增加維、慢速變化維、事實表加載等 數據集成,並根據業務需求制定相應的加載策略、刷新策略、彙總策略、維護策略。

拓展新型應用

對業務數據自己及其運行環境的描述與定義的數據,稱之爲 元數據(metadata)。元數據是描述數據的數據。從某種意義上說,業務數據主要用於支持業務系統應用的數據,而元數據則是 企業信息門戶、客戶關係管理、 數據倉庫、決策支持和 B2B等新型應用所不可或缺的內容。
元數據的典型表現爲對象的描述,即對數據庫、表、列、列屬性(類型、格式、約束等)以及主鍵/外部鍵關聯等等的描述。特別是現行應用的異構性與分佈性愈來愈廣泛的狀況下,統一的元數據就愈發重要了。「信息孤島」曾經是不少企業對其應用現狀的一種抱怨和歸納,而合理的元數據則會有效地描繪出信息的關聯性。
元數據對於ETL的集中表現爲:定義數據源的位置及數據源的屬性、肯定從源數據到目標數據的對應規則、肯定相關的業務邏輯、在數據實際加載前的其餘必要的準備工做,等等,它通常貫穿整個 數據倉庫項目,而ETL的全部過程必須最大化地參照元數據,這樣才能快速實現ETL。
相關文章
相關標籤/搜索