掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
譯文 精選
作者: 陳峻 2022-07-11 09:00:00
云計算 近年來,ETL(extract、transform、load,提取、轉(zhuǎn)換、加載)一直都是數(shù)據(jù)集成的標(biāo)準(zhǔn)方法。隨著云計算的興起、以及集成式數(shù)據(jù)自助服務(wù)需求的增多,諸如ELT(提取、加載、轉(zhuǎn)換)和反向ETL等新的方法論,正在蓬勃發(fā)展。

?譯者 | 陳峻
審校 | 孫淑娟
為了協(xié)助您為數(shù)據(jù)管道項目選擇合適的數(shù)據(jù)集成方法,我們將簡要地探討ETL和ELT各自的優(yōu)缺點,以及如何使用這兩種技術(shù)。同時,我們也會討論反向ETL為何成為那些需要快速數(shù)據(jù)加載、最小化維護、以及高度自動化工作流的更好選擇。
目前,企業(yè)面臨的一種常見挑戰(zhàn)是:需要以多種格式,從多個來源捕獲數(shù)據(jù),然后將其轉(zhuǎn)移到一到多個數(shù)據(jù)目標(biāo)。由于大多數(shù)數(shù)據(jù)轉(zhuǎn)移項目都需要收集多個數(shù)據(jù)源,因此它們需要擁有一個定義良好的數(shù)據(jù)管道(即,信息從源頭到終點的路徑或工作流程)。如果目標(biāo)與數(shù)據(jù)源的存儲格式不同,那么我們就必須在加載到最終目標(biāo)之前,對數(shù)據(jù)進行細化或清理。目前,業(yè)界有許多工具、服務(wù)和流程,可以在數(shù)據(jù)管道中,起到一定的應(yīng)用數(shù)據(jù)轉(zhuǎn)換與協(xié)調(diào)的工作。
ETL是一個數(shù)據(jù)集成的過程。它使得數(shù)據(jù)管道項目能夠從各種源頭順利地提取數(shù)據(jù)、轉(zhuǎn)換數(shù)據(jù)、并將數(shù)據(jù)結(jié)果加載到目標(biāo)數(shù)據(jù)庫中。無論是ETL還是ELT,數(shù)據(jù)的轉(zhuǎn)換與集成過程,都會涉及如下三個階段(如圖1所示):
圖1:ETL的流程(源自Kai Waehner的《何時使用反向ETL以及何時使用反模式》)
ETL和ELT流程會以不同的順序執(zhí)行上述步驟。數(shù)據(jù)管道團隊必須決定是在將數(shù)據(jù)加載到目標(biāo)數(shù)據(jù)存儲庫之前、還是之后進行數(shù)據(jù)轉(zhuǎn)換。
ELT是一種用于整合來自整個組織的數(shù)據(jù),以防止出現(xiàn)數(shù)據(jù)孤島的方法。數(shù)據(jù)會經(jīng)歷數(shù)據(jù)源中被提取,加載到數(shù)據(jù)倉庫中,然后按需進行轉(zhuǎn)換的過程。雖然是要按照應(yīng)用之需進行轉(zhuǎn)換,但是在ELT流程中,數(shù)據(jù)應(yīng)當(dāng)在存儲之前進行轉(zhuǎn)換(如圖2所示)。
圖2:ELT的流程(源自Kai Waehner的《何時使用反向ETL以及何時使用反模式》)
ELT會對集成過程中涉及的步驟進行重新排序,使得轉(zhuǎn)換發(fā)生在最后,而不是中間。ELT的流程可以通過切換階段順序,在不考慮結(jié)構(gòu)或格式的情況下,將數(shù)據(jù)加載到可接受原始數(shù)據(jù)的數(shù)據(jù)湖中,并且允許進行即時的數(shù)據(jù)提取和加載。
促成采用ELT的另一個因素是:基于云的數(shù)據(jù)倉庫被廣泛地采用與實施。云數(shù)據(jù)倉庫解決方案提供了計算和存儲之間的完全分離,以及存儲無限數(shù)據(jù)的能力。如今,大多數(shù)數(shù)據(jù)倉庫都是被托管的。這就意味著企業(yè)既不需要購買或管理任何硬件或存儲設(shè)備,也不需要安裝軟件或考慮擴展。這些都將由云服務(wù)提供商來管理與負責(zé)。據(jù)此,企業(yè)可以在較短的時間內(nèi),配置出云托管的數(shù)據(jù)倉庫。
就ETL與ELT的用例而言,并不存在“一邊倒”的現(xiàn)象。我們通過下表總結(jié)了兩者在不同屬性上的區(qū)別:
|
屬性 |
ETL |
ELT |
|
最適合于…… |
結(jié)構(gòu)化數(shù)據(jù)、歷史遺留系統(tǒng)、以及關(guān)系型數(shù)據(jù)庫;在加載到數(shù)據(jù)倉庫之前轉(zhuǎn)換數(shù)據(jù) |
更快、更及時的數(shù)據(jù)加載,結(jié)構(gòu)化和非結(jié)構(gòu)化的數(shù)據(jù),以及龐大且不斷增長的數(shù)據(jù),按需轉(zhuǎn)換數(shù)據(jù) |
|
支持非結(jié)構(gòu)化數(shù)據(jù)? |
主要用于本地的關(guān)系型數(shù)據(jù) |
隨時可以支持非結(jié)構(gòu)化的數(shù)據(jù) |
|
支持數(shù)據(jù)湖? |
不支持數(shù)據(jù)湖 |
支持數(shù)據(jù)湖 |
|
查找 |
事實數(shù)據(jù)和維度都可用于暫存區(qū) |
由于提取和加載發(fā)生在同一個操作中,因此所有數(shù)據(jù)皆可用 |
|
加載時間 |
數(shù)據(jù)最初被加載到暫存中,然后進入目標(biāo)系統(tǒng) |
數(shù)據(jù)一次性被加載到目標(biāo)系統(tǒng)中 |
|
數(shù)據(jù)輸出 |
通常被用于需要在上傳到關(guān)系型數(shù)據(jù)倉庫之前,實現(xiàn)結(jié)構(gòu)化的本地數(shù)據(jù) |
使用結(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù),最適合在提供了大容量存儲和計算能力的云環(huán)境中,處理海量數(shù)據(jù),使數(shù)據(jù)湖能夠按需快速存儲和轉(zhuǎn)換數(shù)據(jù) |
|
數(shù)據(jù)加載的性能 |
由于它是一個多階段的過程,因此數(shù)據(jù)加載的時間比其他替代品更長 |
由于節(jié)省了轉(zhuǎn)換的等待時間,而且數(shù)據(jù)會被一次性加載到目標(biāo)數(shù)據(jù)庫中,因此數(shù)據(jù)加載的速度更快 |
|
轉(zhuǎn)換的性能 |
數(shù)據(jù)轉(zhuǎn)換可能會很慢 |
由于是在加載后按需完成的,因此數(shù)據(jù)轉(zhuǎn)換完成得更快 |
|
聚合 |
復(fù)雜性會隨著數(shù)據(jù)量和種類的增加而增多 |
目標(biāo)平臺的強大功能可以快速地處理大量數(shù)據(jù) |
|
數(shù)據(jù)部署 |
基于本地或云端 |
通?;谠贫?/p> |
|
分析的靈活性 |
用例和報告模型都已被明確定義 |
隨著模式的發(fā)展,隨時添加數(shù)據(jù),分析師可以構(gòu)建目標(biāo)倉庫的新視圖 |
|
合規(guī) |
更符合GDPR、HIPAA和CCPA標(biāo)準(zhǔn);用戶可以避免將敏感數(shù)據(jù)加載到目標(biāo)系統(tǒng) |
會暴露個人數(shù)據(jù),無法不遵守GDPR、HIPAA和CCPA標(biāo)準(zhǔn) |
|
實施 |
提供各種工具和支持技術(shù),更易于實施 |
需要有適當(dāng)?shù)募寄軄韺嵤┖途S護的團隊 |
反向ETL是一種提取已清理的和處理過的數(shù)據(jù)架構(gòu)。它會將數(shù)據(jù)從數(shù)據(jù)倉庫(或數(shù)據(jù)湖/集市)復(fù)制到一個或多個操作系統(tǒng)。數(shù)據(jù)可以被重新引入諸如Salesforce等其他應(yīng)用程序,可用于業(yè)務(wù)運營和預(yù)測。通過操作已提取的數(shù)據(jù)源,各類用戶可以使用常用的工具來訪問數(shù)據(jù),并獲取相關(guān)的洞見。作為現(xiàn)代化數(shù)據(jù)技術(shù)棧的組件,反向ETL允許企業(yè)開展那些比單獨使用商業(yè)智能(BI)工具,更為復(fù)雜的分析。
作為一種戰(zhàn)略性全新的集成流程,反向ETL可以減少那些快速發(fā)展型企業(yè)在數(shù)據(jù)分析上花費的時間。該流程更專注于將數(shù)據(jù)與業(yè)務(wù)用戶的操作工具相同步,以激活數(shù)據(jù)倉庫中的數(shù)據(jù)。用戶必須事先定義好數(shù)據(jù),并將其映射到最終目的地的適當(dāng)列/字段上。
同時,由于企業(yè)的數(shù)據(jù)存儲(如,數(shù)據(jù)參考或關(guān)系數(shù)據(jù)庫)已成為一種并非所有人都可以完全訪問到的存儲庫,因此,我們需要通過反向ETL,來為不同的業(yè)務(wù)角色提供基本的數(shù)據(jù)(如圖3所示)。
圖3:逆向ETL流程(源自Kai Waehner的《何時使用反向ETL以及何時使用反模式》)
為了利用數(shù)據(jù)倉庫中已經(jīng)清理和準(zhǔn)備好的信息,而不是將數(shù)據(jù)倉庫僅僅視為數(shù)據(jù)管道中的最終組件,反向ETL用戶可以通過使用連接器,來讀取數(shù)據(jù)倉庫(如:SAP或SASS)。例如,現(xiàn)代化數(shù)據(jù)團隊可以借助現(xiàn)成的反向ETL方案,從數(shù)據(jù)倉庫中提取數(shù)據(jù),為電子郵件營銷、客戶支持、銷售或財務(wù)模型提供支持。同時,他們也能夠為業(yè)務(wù)團隊提供更深入、更高效、以及更有價值的自助服務(wù)。
總地說來,反向ETL可以協(xié)助企業(yè)實現(xiàn):
當(dāng)數(shù)據(jù)團隊采用第三方反向ETL工具時,他們可以快速實施運營分析,但到底是該購買,還是自行構(gòu)建反向ETL?下面我們以設(shè)計和構(gòu)建反向ETL的流程和平臺為例,給出企業(yè)需要在做出決定之前,慎重考量的三個因素:
在創(chuàng)建數(shù)據(jù)管道的過程中,最繁重、且最耗時的步驟便是:從各種來源提取數(shù)據(jù),然后測試整個過程。其中,同步每個數(shù)據(jù)源的收集過程,往往需要各個層面的大量專業(yè)知識。如果您和您的團隊對此感興趣的話,請參考如下鏈接:
陳峻 (Julian Chen),51CTO社區(qū)編輯,具有十多年的IT項目實施經(jīng)驗,善于對內(nèi)外部資源與風(fēng)險實施管控,專注傳播網(wǎng)絡(luò)與信息安全知識與經(jīng)驗;持續(xù)以博文、專題和譯文等形式,分享前沿技術(shù)與新知;經(jīng)常以線上、線下等方式,開展信息安全類培訓(xùn)與授課。
原文標(biāo)題:??ETL, ELT, and Reverse ETL???,作者:Wayne Yaddow?

我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流