數(shù)據(jù)分析你需要知道的操作:ETL和ELT

如果您接觸過數(shù)據(jù)倉庫, 您可能會使用 ETL (Extract、 Transform、 Load) 或 ELT ( Extract、Load、 Transform) 將您的數(shù)據(jù)從不同的來源提取到數(shù)據(jù)倉庫中。這些是移動數(shù)據(jù)或集成數(shù)據(jù)的常用方法, 以便您可以關(guān)聯(lián)來自不同來源的信息, 將數(shù)據(jù)安全地存儲在一個位置, 并使公司的成員能夠從不同業(yè)務(wù)部門查看綜合數(shù)據(jù)。ETL和ELT兩個術(shù)語的區(qū)別與過程的發(fā)生順序有關(guān)。這些方法都適合于不同的情況。

一、什么是ETL?

ETL是用來描述將數(shù)據(jù)從來源端經(jīng)過抽?。╡xtract)、轉(zhuǎn)換(transform)、加載(load)至目的端的過程。ETL一詞較常用在數(shù)據(jù)倉庫,但其對象并不限于數(shù)據(jù)倉庫。

ETL是構(gòu)建數(shù)據(jù)倉庫的最重要的環(huán)節(jié),用戶從數(shù)據(jù)源抽取出所需的數(shù)據(jù),經(jīng)過數(shù)據(jù)清洗,最終按照預(yù)先定義好的數(shù)據(jù)倉庫模型,將數(shù)據(jù)加載到數(shù)據(jù)倉庫。

ETL架構(gòu)的特殊優(yōu)勢:

ETL可以分擔(dān)數(shù)據(jù)庫系統(tǒng)的負(fù)載,可采用單獨的硬件服務(wù)器部署

ETL相對ELT架構(gòu)可以實現(xiàn)更為復(fù)雜的數(shù)據(jù)轉(zhuǎn)化邏輯

ETL與底層的數(shù)據(jù)庫數(shù)據(jù)存儲無關(guān)

二、什么是ELT?

ELT只負(fù)責(zé)提供圖形化的界面來設(shè)計業(yè)務(wù)規(guī)則,數(shù)據(jù)的整個加工過程都在目標(biāo)和源的數(shù)據(jù)庫之間流動,ELT協(xié)調(diào)相關(guān)的數(shù)據(jù)庫系統(tǒng)來執(zhí)行相關(guān)的應(yīng)用,數(shù)據(jù)加工過程既可以在源數(shù)據(jù)庫端執(zhí)行,也可以在目標(biāo)數(shù)據(jù)倉庫端執(zhí)行(主要取決于系統(tǒng)的架構(gòu)設(shè)計和數(shù)據(jù)屬性)。當(dāng)ETL過程需要提高效率,則可以通過對相關(guān)數(shù)據(jù)庫進行調(diào)優(yōu),或者改變執(zhí)行加工的服務(wù)器就可以達到。ELT 通常發(fā)生在 NoSQL 數(shù)據(jù)庫中,具有處理非結(jié)構(gòu)化數(shù)據(jù)的能力。一般數(shù)據(jù)庫廠商會也會力推該種架構(gòu),像Oracle和Teradata都極力宣傳ELT架構(gòu)。

ELT架構(gòu)的特殊優(yōu)勢:

ELT主要通過數(shù)據(jù)庫引擎來實現(xiàn)系統(tǒng)的可擴展性

ELT可以保持所有的數(shù)據(jù)始終在數(shù)據(jù)庫當(dāng)中,避免數(shù)據(jù)的加載和導(dǎo)出,從而保證效率,提高系統(tǒng)的可監(jiān)控性。

ELT可以根據(jù)數(shù)據(jù)的分布情況進行并行處理優(yōu)化,并可以利用數(shù)據(jù)庫的固有功能優(yōu)化磁盤I/O。

ELT的可擴展性取決于數(shù)據(jù)庫引擎和其硬件服務(wù)器的可擴展性。

通過對相關(guān)數(shù)據(jù)庫進行性能調(diào)優(yōu),ELT過程獲得3到4倍的效率提升一般不是特別困難。

三、總結(jié)

經(jīng)過這些描述后可能會讓您懷疑哪種方法更好。事實上, 在不同的情況下, 這些方法中的每一種都有優(yōu)勢, 最好的解決方案取決于你的項目情況。ELT在以下情況中,配合ETL工具將會將會達到更好的效果:

1、當(dāng)您想要執(zhí)行復(fù)雜的計算時,ETL工具比數(shù)據(jù)倉庫或數(shù)據(jù)池更有效

2、如果要在加載到目標(biāo)存儲之前進行大量數(shù)據(jù)清理。ETL是一種更好的解決方案,因為您不會將不需要的數(shù)據(jù)移動到目標(biāo)。

3、當(dāng)您僅使用結(jié)構(gòu)化數(shù)據(jù)或傳統(tǒng)結(jié)構(gòu)化數(shù)據(jù)倉庫時。ETL工具通常最有效地將結(jié)構(gòu)化數(shù)據(jù)從一個環(huán)境移動到另一個環(huán)境。

4、當(dāng)你想要擴展補充數(shù)據(jù)時。如果要在將數(shù)據(jù)移動到目標(biāo)存儲時擴展補充數(shù)據(jù),則需要使用ETL工具。例如,添加時間戳。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容