基於兩種架構的ETL實現及ETL工具選型策略


       企業信息化建設過程中,業務系統各自為政、相互獨立造成的“數據孤島”現象尤為普遍,業務不集成、流程不互通、數據不共享……。這給企業進行數據的分析利用、報表開發等帶來了巨大困難。在此情況下,數據倉庫的建設就顯得必不可少了,將相互分離的業務系統的數據源整合在一起,建立一個統一的數據采集、處理、存儲、分發、共享中心,實現企業全局數據的系統化運作管理,為DSS(決策支持系統)、BI(商務智能)、經營分析系統等深度開發應用奠定基礎,挖掘數據價值。

       在企業搭建數據倉庫的過程中,有一個核心環節——ETL。如果說數據倉庫是一座大樓,那么ETL就是大樓的地基。ETL是Extract(抽取)-Transform(轉換)-Load(加載) 的縮寫,負責將分布的、異構數據源中的數據如關系數據、平面數據文件等抽取到臨時中間層后進行清洗、轉換、集成,最后加載到數據倉庫或數據集市中,成為聯機分析處理、數據挖掘的基礎。ETL設計和實施的工作量一般要占數據倉庫總工作量的60%以上,數據倉庫建成后的日常運維的好壞也嚴重依賴ETL的設計使用,所以說ETL是整個數據倉庫的生命線,ETL工具的選擇對於整個數據倉庫項目的成功是非常重要的。

       ETL工具目前有兩種技術架構——ETL架構和ELT架構,咋一看這兩種架構好像沒什么不同之處,那么二者之間到底有什么區別呢?

     (1)ETL架構

       ETL架構按其字面含義理解就是按照E——T——L這個順序流程進行處理的架構:先抽取、然后轉換、完成后加載到目標數據庫中。在ETL架構中,數據的流向是從源數據流到ETL工具,ETL工具是一個單獨的數據處理引擎,一般會在單獨的硬件服務器上,實現所有數據轉化的工作,然后將數據加載到目標數據倉庫中。如果要增加整個ETL過程的效率,則只能增強ETL工具服務器的配置,優化系統處理流程(一般可調的東西非常少)。

ETL架構的實現機制

       ETL架構的優勢:

  1. ETL可以分擔數據庫系統的負載(采用單獨的硬件服務器)
  2. ETL相對於ELT架構可以實現更為復雜的數據轉化邏輯
  3. ETL采用單獨的硬件服務器。.
  4. ETL與底層的數據庫數據存儲無關。

    (2)ELT架構

       ELT架構則把“L”這一步工作提前到“T”之前來完成:先抽取、然后加載到目標數據庫中、在目標數據庫中完成轉換操作。在ELT架構中,ELT只負責提供圖形化的界面來設計業務規則,數據的整個加工過程都在目標和源的數據庫之間流動,ELT協調相關的數據庫系統來執行相關的應用,數據加工過程既可以在源數據庫端執行,也可以在目標數據倉庫端執行(主要取決於系統的架構設計和數據屬性)。當ETL過程需要提高效率,則可以通過對相關數據庫進行調優,或者改變執行加工的服務器就可以達到。

ETL架構的實現機制

       ELT架構的優勢:

  1. ELT充分利用數據庫引擎來實現系統的可擴展性(尤其是當數據加工過程在晚上時,可以充分利用數據庫引擎的資源)
  2. ELT可以保持所有的數據始終在數據庫當中,避免數據的加載和導出,從而保證效率,提高系統的可監控性。
  3. ELT可以根據數據的分布情況進行並行處理優化,並可以利用數據庫的固有功能優化磁盤I/O。
  4. 通過對相關數據庫進行性能調優,ELT過程獲得3到4倍的效率提升比較容易。

       ETL工具的典型代表有:Informaticapowercenter、IBM Datastage、PDI(Kettle)、Talend等。ELT工具的典型代表有:Teradata ETL Automation,Oracle ODI等。對於數據量較大的處理計算,比如采用了mpp數據庫的架構,建議選擇ELT工具,利用數據庫的強大計算能力處理復雜運算,不要讓ETL工具成了計算的瓶頸。

       個人建議在資金可以的情況下盡量采用商用數據平台來開發,就易用性來說做的相當好,而且還有服務支持,這里推薦一個國內廠商的ELT工具昊合數據整合平台HaoheDI,簡單易上手,會SQL就會用,運維也很方便。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM