1. 程式人生 > >資料分析你需要知道的操作:ETL和ELT

資料分析你需要知道的操作:ETL和ELT

如果您接觸過資料倉庫, 您可能會使用 ETL (Extract、 Transform、 Load) 或 ELT ( Extract、Load、 Transform) 將您的資料從不同的來源提取到資料倉庫中。這些是移動資料或整合資料的常用方法, 以便您可以關聯來自不同來源的資訊, 將資料安全地儲存在一個位置, 並使公司的成員能夠從不同業務部門檢視綜合資料。ETL和ELT兩個術語的區別與過程的發生順序有關。這些方法都適合於不同的情況。

一、什麼是ETL?

ETL是用來描述將資料從來源端經過抽取(extract)、轉換(transform)、載入(load)至目的端的過程。ETL一詞較常用在資料倉庫,但其物件並不限於資料倉庫。

ETL是構建資料倉庫的最重要的環節,使用者從資料來源抽取出所需的資料,經過資料清洗,最終按照預先定義好的資料倉庫模型,將資料載入到資料倉庫。

 

ETL架構的特殊優勢:

ETL可以分擔資料庫系統的負載,可採用單獨的硬體伺服器部署

ETL相對ELT架構可以實現更為複雜的資料轉化邏輯

ETL與底層的資料庫資料儲存無關

二、什麼是ELT?

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

 

ELT架構的特殊優勢:

ELT主要通過資料庫引擎來實現系統的可擴充套件性

ELT可以保持所有的資料始終在資料庫當中,避免資料的載入和匯出,從而保證效率,提高系統的可監控性。

ELT可以根據資料的分佈情況進行並行處理優化,並可以利用資料庫的固有功能優化磁碟I/O。

ELT的可擴充套件性取決於資料庫引擎和其硬體伺服器的可擴充套件性。

通過對相關資料庫進行效能調優,ELT過程獲得3到4倍的效率提升一般不是特別困難。

三、總結

經過這些描述後可能會讓您懷疑哪種方法更好。事實上, 在不同的情況下, 這些方法中的每一種都有優勢, 最好的解決方案取決於你的專案情況。ELT在以下情況中,配合ETL工具將會將會達到更好的效果:

1、當您想要執行復雜的計算時,ETL工具比資料倉庫或資料池更有效

2、如果要在載入到目標儲存之前進行大量資料清理。ETL是一種更好的解決方案,因為您不會將不需要的資料移動到目標。

3、當您僅使用結構化資料或傳統結構化資料倉庫時。ETL工具通常最有效地將結構化資料從一個環境移動到另一個環境。

4、當你想要擴充套件補充資料時。如果要在將資料移動到目標儲存時擴充套件補充資料,則需要使用ETL工具。例如,新增時間