ETL介紹(ETL與ELT區別)
ETL是數據倉庫中的非常重要的一環 ,它是承前啟後的必要的一步。在搭建數據倉庫的過程中,ETL設計和實施的工作量一般要占總工作量的60%以上,而且業務部門會不斷提出新的業務需求,任何前端業務模型的改變都會涉及到ETL設計,數據倉庫日常運維效率的好壞也依賴ETL設計,因此ETL工具的選擇對於整個數據倉庫項目的成功是非常重要的。
ELT架構
ELT是利用資料庫的處理能力,E=從源資料庫抽取數據,L=把數據載入到目標庫的臨時表中,T=對臨時表中的數據進行轉換,然後載入到目標庫目標表中。
在ELT架構中,ELT只負責提供圖形化的界面來設計業務規則,數據的整個加工過程都在目標和源的資料庫之間流動,ELT協調相關的資料庫系統來執行相關的套用,數據加工過程既可以在源資料庫端執行,也可以在目標數據倉庫端執行(主要取決於系統的架構設計和數據屬性)。當ETL過程需要提高效率,則可以通過對相關資料庫進行調優,或者改變執行加工的伺服器就可以達到。一般資料庫廠商會力推該中架構,像Oracle和Teradata都極力宣傳ELT架構。
ELT優點
1. ELT主要通過資料庫引擎來實現系統的可擴展性(尤其是當數據加工過程在晚上時,可以充分利用資料庫引擎的資源)
2. ELT可以保持所有的數據始終在資料庫當中,避免數據的載入和導出,從而保證效率,提高系統的可監控性。
3. ELT可以根據數據的分布情況進行並行處理最佳化,並可以利用資料庫的固有功能最佳化磁碟I/O。
4. ELT的可擴展性取決於資料庫引擎和其硬體伺服器的可擴展性。
5. 通過對相關資料庫進行性能調優,ETL過程獲得3到4倍的效率提升一般不是特別困難。
ELT工具
和基於ETL架構的工具(Kettle、Talend、Datastage、Informatica)相比,基於ELT架構的工具目前並不多(OWB、HaoheDI)。