認識ETL

大數據中經常會遇到的一個概念就是ETL,接下來就來探討一下ETL

ETL是指將業務系統的數據經過抽取、清洗轉換之後加載到數據倉庫的過程,主要的作用就是將企業的一些雜亂無章的數據進行一個彙總,爲相關的企業提供數據的支持。

ETL主要分爲了三個階段:數據抽取、數據清洗轉換、數據的加載。

數據的抽取:就是從原始的數據源中將數據抽取到ODS層。在數據抽取的時候,首先需要進行相關的調研,比如數據的存儲,以及數據的量級等

數據的清洗:數據清洗的任務主要是將一些不符合規則的髒數據給過濾掉,保留對業務有用的數據,。其中不符合要求的髒數據包括:不完整的數據、錯誤的數據、重複的數據等

數據轉換:數據轉換的主要任務是將數據進行不一致的數據轉換、數據粒度的轉換,以及一些商務規則的計算

ETL架構的特殊優勢:ETL可以分擔數據庫系統的負載,可以採用單獨的硬件服務器部署;ETL相對ELT架構可以實現更爲複雜的數據轉化邏輯;ETL與底層的數據庫數據存儲無關。

接下來介紹一下ELT

ELT:ELT只負責提供圖形化的界面來設計業務規則,數據的整個加工過程都在目標和源的數據庫之間流動,ELT協調相關的數據庫系統來執行相關的應用,數據加工過程既可以在源數據庫端執行,也可以在目標數據倉庫端執行(主要取決於系統的架構設計和數據屬性)。當ETL過程需要提高效率,則可以通過對相關數據庫進行調優,或者改變執行加工的服務器就可以達到。ELT 通常發生在 NoSQL 數據庫中,具有處理非結構化數據的能力。一般數據庫廠商會也會力推該種架構,像Oracle和Teradata都極力宣傳ELT架構。

ELT架構的特殊優勢:ELT主要通過數據庫引擎來實現系統的可擴展性;ELT可以保持所有的數據始終在數據庫當中,避免數據的加載和導出,從而保證效率,提高系統的可監控性;ELT可以根據數據的分佈情況進行並行處理優化,並可以利用數據庫的固有功能優化磁盤I/O;ELT的可擴展性取決於數據庫引擎和其硬件服務器的可擴展性。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章