ETL 與 ELT 之間有什麼區別?
擷取、轉換和載入 (ETL) 以及擷取、載入和轉換 (ELT) 是用於分析的兩種資料處理方法。大型組織擁有數百個 (甚至數千個) 資料來源,這些資料來源來自其營運的各個層面,例如應用程式、感應器、IT 基礎架構以及第三方合作夥伴。他們必須篩選、排序以及清理這些龐大的資料量,使其可用於分析和商業智慧。ETL 方法使用一組業務規則在集中整合之前處理來自多個來源的資料。ELT 方法會依原樣載入資料,並在稍後階段根據使用案例及分析需求對其進行轉換。ETL 程序在開始時需要更多的定義。分析必須從一開始就考慮定義目標資料類型、結構和關係。資料科學家主要使用 ETL 將舊式資料庫載入到資料倉儲,而如今 ELT 已成為常態。
ETL 與 ELT 之間有什麼相似之處?
擷取、轉換和載入 (ETL) 和擷取、載入和轉換 (ELT) 都是準備資料以供進一步分析的序列程序。他們透過三個步驟來擷取、處理和載入資料以進行分析。
擷取
ETL 和 ELT 的第一步都是擷取。此步驟關乎從不同來源收集原始資料。這些可能是資料庫、檔案、軟體即服務 (SaaS) 應用程式、物聯網 (IoT) 感應器或應用程式事件。您可在此階段收集半結構化、結構化或非結構化資料。
轉型
在 ETL 程序中,轉換是第二步,而在 ELT 中則是第三步。此步驟著重於將原始資料從其原始結構變更為符合您目標系統需求的格式,您計劃在此目標系統存放資料以進行分析。以下是轉換的一些範例:
- 變更資料類型或格式
- 移除不一致或不準確的資料。
- 移除重複資料。
您可套用規則和函數來清除和準備資料,以便在目標系統中進行分析。
載入
在這個階段,您會將資料存放到目標資料庫中。ETL 會將載入資料作為最後一步處理,以便報告工具可以直接使用它來產生可行的報告和洞察。不過,在 ELT 中,您仍然需要在載入擷取的資料後對其進行轉換。
ELT 與 ETL 程序有何不同?
接下來,我們將概述擷取、轉換和載入 (ETL) 和擷取、載入和轉換 (ELT) 的程序。您還可以參閱一些歷史背景。
ETL 程序
ETL 有三個步驟:
- 您可從各種來源擷取原始資料
- 您可使用輔助處理伺服器來轉換該資料
- 您可將該資料載入目標資料庫中
轉換階段可確保符合目標資料庫的結構需求。只有在資料轉換並準備就緒後,才會移動資料。
ELT 程序
以下是 ELT 的三個步驟:
- 您可從各種來源擷取原始資料
- 您可將其自然狀態載入資料倉儲或資料湖
- 在目標系統中,您可視需要對其進行轉換
使用 ELT 時,所有資料清除、轉換和擴充都會在資料倉儲內進行。您可視需要多次與原始資料互動和轉換。
ETL 和 ELT 的歷史
自 20 世紀 70 年代以來,ETL 一直存在,隨著資料倉儲的興起而變得特別受歡迎。然而,傳統資料倉儲需要每個資料來源的自訂 ETL 程序。
雲端技術的演進改變了可能性。公司現在可大規模存放無限的原始資料,並在稍後視需要進行分析。ELT 成為高效分析的現代資料整合方法。
主要差異:ETL 與ELT
擷取、載入和轉換 (ELT) 透過多種方式改善了擷取、轉換和載入 (ETL)。
轉換和載入位置
轉換和載入發生在不同的位置,並使用不同的程序。ETL 程序可轉換輔助處理伺服器上的資料。
相較之下,ELT 程序會將原始資料直接載入目標資料倉儲。載入後,您可以在需要時在此轉換資料。
資料相容性
ETL 最適合於您可在含資料列和資料欄的資料表中呈現的結構化資料。它會將一個結構化資料集轉換為另一種結構化格式,然後將其載入。
而 ELT 會處理所有類型的資料,包括無法以表格格式存放的影像或文件等非結構化資料。使用 ELT,該程序會將各種資料格式載入目標資料倉儲。您可以在此將其進一步轉換為所需的格式。
速度
ELT 的速度比 ETL 更快。ETL 在將資料載入目標之前,還有一個額外的步驟,該步驟難以擴展,並且會隨著資料大小的增加而降低系統的速度。
相較之下,ELT 會將資料直接載入目標系統,並對資料進行平行轉換。它使用雲端資料倉儲提供的處理能力和平行化,交付即時或近乎即時的資料轉換以進行分析。
成本
ETL 程序需要從一開始就參與分析。它需要分析師根據其想要產生和定義資料結構和格式報告來提前規劃。設定所需的時間會增加,這會增加成本。用於轉換的額外伺服器基礎設施成本也可能更高。
ELT 的系統比 ETL 更少,因為所有轉換都發生在目標資料倉儲內。系統越少,維護就越少,進而資料堆疊更簡單,且設定成本更低。
安全性
當您使用個人資料時,必須遵守資料隱私權法規。公司必須保護個人身分識別資訊 (PII) 免受未經授權的存取。
在 ETL 中,開發人員必須建置自訂解決方案,例如遮罩 PII 以監控和保護資料。
另一方面,ELT 解決方案直接在資料倉儲中提供許多安全功能,例如精細存取控制和多重要素驗證。您可以投入更多時間進行分析,並減少符合資料法規要求的時間。
何時使用 ETL 與ELT
擷取、載入和轉換 (ELT) 是現代分析的標準選擇。但在下列案例中,您可能會考慮擷取、轉換和載入 (ETL)。
舊式資料庫
使用 ETL 與舊式資料庫或具有預定資料格式的協力廠商資料來源整合有時更有益。您只需轉換資料並將其載入系統中一次即可。轉換後,您可以更高效地將其用於所有未來的分析。
實驗
在大型組織中,資料工程師會進行實驗,例如探索隱藏的資料來源以進行分析,以及嘗試新的想法來回答商業查詢。ETL 在資料實驗中非常有用,可了解資料庫及其在特定案例中的實用性。
複雜分析
ETL 和 ELT 可同時用於複雜的分析,這些分析使用不同來源的多種資料格式。資料科學家可能會從某些來源設定 ETL 管道,並將 ELT 與其他來源一起使用。在某些情況下,這可改善分析效率並提高應用程式效能。
IoT 應用程式
對於使用感應器資料串流的物聯網 (IoT) 應用程式,使用 ETL 通常比 ELT 更受益。例如,以下是邊緣 ETL 的一些常見使用案例:
- 您想要接收來自不同協定的資料,並將其轉換為標準資料格式以用於雲端工作負載
- 您想要篩選高頻率資料、對大型資料集執行平均函數,然後以降低的速率載入平均值或篩選值
- 您想要從本機裝置的不同資料來源計算值,並將篩選值傳送至雲端後端
- 您想要清除、刪除重複資料或填入遺失的時間序列資料元素
差異摘要:ETL 與ELT
類別 | ETL |
ELT |
含義 |
擷取、轉換和載入 |
擷取、載入和轉換 |
處理 |
取得原始資料,將資料轉換為預定格式,然後將其載入目標資料倉儲。 |
取得原始資料,將資料載入目標資料倉儲,然後在分析之前對其進行轉換。 |
轉換和載入位置 |
轉換發生在輔助處理伺服器中。 |
轉換發生在目標資料倉儲。 |
資料相容性 |
最適合結構化資料。 |
可處理結構化、非結構化和半結構化資料。 |
速度 |
ETL 比 ELT 更慢。 |
ELT 比 ETL 更快,因為它可使用資料倉儲的內部資源。 |
成本 |
視乎使用的 ETL 工具,設定可能非常耗時且成本高昂。 |
更具成本效益,具體取決於使用的 ELT 基礎設施。 |
安全性 |
可能需要建置自訂應用程式,以滿足資料保護需求。 |
您可以使用目標資料庫的內建功能,來管理資料保護。 |
AWS 如何支援您的 ETL 和 ELT 需求?
Analytics on AWS 描述 Amazon Web Services (AWS) 提供的廣泛分析服務選擇,可滿足您的所有資料分析需求。使用 AWS,各種規模和產業的組織都能利用資料來重塑其業務。
以下是您可根據 ETL 和 ELT 要求使用的一些 AWS 服務:
- Amazon Aurora 支援與 Amazon Redshift 的零 ETL 整合。這項整合可透過 Amazon Redshift,對來自 Aurora 的 PB 級交易資料進行近乎即時的分析和機器學習。
- AWS Data Pipeline 是一項受管 ETL 服務,可讓您定義跨各種 AWS 服務的資料移動和轉換。
- AWS Glue 是適用於事件導向型 ETL 和無程式碼 ETL 任務的無伺服器資料整合服務。
- AWS IoT Greengrass 透過將雲端處理和邏輯本機導入邊緣裝置,以支援邊緣使用案例上的 ETL。
- Amazon Redshift 可讓您設定所有 ELT 工作流程,並直接查詢來自不同來源的資料集。
立即建立免費帳戶,開始使用 AWS 上的 ELT 和 ETL。