什麼是 ELT (擷取、載入及轉換)?

在現今資料導向的環境中,組織不斷尋求更有效率的方式,來管理及分析大量資訊。ELT (擷取、載入、轉換) 程序是一種現代的資料整合做法,特別適合雲端環境。ELT 可在處理多元資料集時,提供速度、彈性和擴充性等獨特優勢,因此,凡是從事資料架構、資料工程或數據分析的人員,都應瞭解這項技術。這種做法改變了資料轉換的時機和地點,開創資料運用的新可能。

ELT 的定義

ELT 是擷取 (extract)、載入 (load) 和轉換 (transform) 的簡稱。這是一種資料管道模型,會先從各種來源系統擷取資料。然後,原始資料不會在獨立的暫存區中轉換,而是直接載入目標資料儲存庫 (例如資料湖泊或雲端資料倉儲)。只有在資料載入目標系統後,才會套用轉換。

這個順序是 ELT 與前身 ETL (擷取、轉換、載入) 的不同之處,也是 ELT 在雲端原生架構中日益普及的主要原因。

ELT 的運作方式

ELT 處理流程充分運用現代資料儲存和處理平台的強大功能與擴充性。接下來,我們將詳細介紹各個要素:

  • 擷取:這個初步步驟會從原始來源收集原始資料。這些來源可能非常多元,包括資料庫 (SQL 和 NoSQL)、企業應用程式 (例如客戶關係管理和企業資源規劃)、軟體即服務平台、API 和記錄檔。擷取程序的目標是從這些系統中,有效率地擷取資料。
  • 載入:在第二個步驟中,系統會直接將擷取的原始資料載入高容量儲存系統,通常會以原始格式載入,或只經過最少的處理。這些原始資料的常見目標是雲端資料湖泊或現代化雲端資料倉儲,可處理大量結構化、半結構化和非結構化資料。
  • 轉換:資料安全地存放在目標系統後,就會執行這項最後步驟。資料倉儲或資料湖泊會運用運算能力,清理、結構化、充實原始資料,並轉換成適合用於數據分析、報表和機器學習的格式。轉換作業可能包括篩選、彙整、匯總、格式標準化、衍生新資料點等。

ELT 程序具有彈性,因為轉換作業並非在載入前就固定。舉例來說,數據資料學家可以存取原始資料,探索未曾預料的模式或進行臨時分析,而商業智慧團隊則能建立已收錄和轉換後的資料集,來製作報表。

ELT 的優點

ELT 方法具備多項潛在優勢,特別是在處理大量資料和多種資料類型的環境中:

  • 資料擷取速度更快:將原始資料載入目標系統,通常比在暫存區等待轉換作業完成更快。這表示資料能更快用於初步探索或特定用途。
  • 彈性與靈活性:由於原始資料會保留在目標系統中,因此您可以根據業務需求的變化,反覆開發、修改或新增轉換。如果轉換邏輯變更,您不必重新擷取來源系統的資料,只要對已載入的原始資料重新執行轉換即可。
  • 擴充性:現代化的雲端資料倉儲和資料湖泊專為大規模擴充性而設計。ELT 會運用這些目標系統的強大處理引擎,來執行轉換作業,善用這項固有能力。讓組織能有效率地處理日益增加的資料量和複雜的轉換作業。
  • 保留原始資料:儲存原始資料可提供更完整的歷史記錄。這項功能對於資料稽核、重新處理先前轉換作業中發現錯誤的資料,或滿足預期之外的未來分析需求,都非常有幫助。對數據資料學家而言,可以取得最精細、未轉換的資料,通常很有幫助。
  • 某些工作負載的成本效益:有時,使用雲端資料倉儲的運算能力進行轉換,比起維護獨立基礎架構或授權專用 ETL 工具來轉換資料,更具成本效益,尤其是當資料倉儲提供最佳化處理功能時。
  • 支援多種資料類型:ELT 可用於處理結構化、半結構化 (例如 JSON 或 XML) 和非結構化資料 (例如文字或圖片)。資料可以原生格式載入,並視需要轉換,這在大數據情境中是一大優勢。這種「讀取時建立結構定義」做法是 ELT 的一大特色,也就是在處理期間 (而非載入前) 套用結構。

ELT 的挑戰

雖然 ELT 有許多優點,但組織在採用時也應考量以下幾點:

  • 資料治理和安全性:將可能含有機密資料或個人識別資訊 (PII) 的原始資料載入資料湖泊或資料倉儲,需要完善的資料治理、安全性和法規遵循措施。如要保護目標環境中的這類資料,存取控管、加密和資料遮蓋技術至關重要。
  • 目標系統中的轉換作業複雜度:雖然資料倉儲 (例如使用 SQL) 或資料湖泊的轉換作業功能強大,但直接在這些系統中管理複雜的轉換邏輯可能會變得相當困難。這需要熟練使用這些工具的專業人員,以及嚴謹的程式碼管理和最佳化方法。
  • 工具和自動化調度管理:如要有效實作 ELT,必須使用適當的工具來自動化調度管理擷取和載入步驟,並在目標系統中管理及執行轉換作業。雖然許多雲端平台都提供工具,但整合這些工具並管理整體工作流程,需要仔細規劃。
  • 可能會形成雜亂無章的「資料沼澤」:如果載入資料湖泊的原始資料未經妥善分類、管理和控管,資料湖泊就可能會變成「資料沼澤」,難以找到、信任或有效使用資料。因此,制定完善的資料管理策略至關重要。
  • 資料品質責任:由於轉換作業會在程序較後面的階段進行,因此可能需要在資料載入後採取專門步驟,確保資料品質。監控及驗證目標系統中的資料變得至關重要。

主動解決這些難題,有助於組織充分發揮 ELT 模式的優勢。

比較 ELT 與 ETL

瞭解 ELT 與較傳統的 ETL (擷取、轉換、載入) 程序的差異,有助於選擇合適的資料整合策略。主要差異在於轉換步驟發生的時間和地點。

功能

ELT (擷取、載入、轉換)

ETL (擷取、轉換、載入)

作業順序

先擷取、再載入、後轉換

先擷取、再轉換、後載入

轉換位置

在目標資料儲存庫 (資料倉儲/資料湖泊) 內

在獨立的暫存區或 ETL 工具環境中

資料已載入目標

原始、未轉換資料

經過清理、結構化和轉換的資料

處理功能


運用目標資料儲存庫的強大功能

仰賴專用的 ETL 引擎或測試環境伺服器


資料擷取速度


通常能更快首次載入資料

由於需要預先處理轉換作業,因此速度可能較慢


對新運用方式的彈性


高,因為可使用原始資料來重新轉換

較低,因為已預先定義轉換

結構定義處理

適合用於讀取時建立結構定義

通常仰賴寫入時建立結構定義

資料類型適切性


非常適合處理結構化、半結構化和非結構化資料

最適合結構化資料和部分半結構化資料

資源使用率

充分運用可擴充的雲端資料倉儲

可能需要獨立基礎架構來進行轉換


ELT 是 Google Cloud 建議採用的資料整合模式。ELT 會先從來源系統擷取資料,然後將資料載入 BigQuery,再將資料轉換成適合分析的格式。ELT 方法可讓您透過 BigQuery 的完整功能執行資料轉換,並讓任何 SQL 使用者都能有效地開發資料整合管道。而與此不同的是,ETL (擷取、轉換、載入) 則是在資料載入資料倉儲之前,就轉換資料。

該選擇 ELT 或 ETL 通常取決於特定用途、現有基礎架構、資料量和組織的分析需求。在許多現代資料架構中,混合做法也很常見,也就是在管道的不同部分使用 ELT 和 ETL。

ELT 的用途

ELT 模式在各種現代資料情境中都特別有效:

雲端資料倉儲

ELT 非常適合 Google Cloud 的 BigQuery 等雲端資料平台,因為這些平台具備強大的處理能力和擴充性,可有效率地處理大型資料集的轉換作業。

大數據資料分析

處理大量、高速且多樣的資料類型時,ELT 可快速將資料擷取至資料湖泊或物件儲存空間。接著,您可以使用 Apache Spark 等分散式處理框架,或資料庫內 SQL 引擎,直接套用轉換。

資料湖泊導入

資料湖泊的設計宗旨,是以原生格式儲存大量原始資料。ELT 程序會載入原始資料,然後由各種分析和處理引擎轉換及使用。

即時或近乎即時的資料處理

如果用途需要快速存取最新資料,ELT 可加快載入階段的速度。接著,您可以針對這類資料的子集,執行特定近乎即時的資訊主頁或應用程式轉換。

探索性資料分析和資料科學作業

數據資料學家通常偏好存取未經轉換的原始資料,來執行特徵工程、建立機器學習模型,以及發掘深入分析結果,而不會受到預先定義轉換的限制。ELT 可讓原始資料隨時可用。

整合各種資料來源

當您要整合來自多個不同結構的系統的資料時,ELT 會先將所有資料載入中央位置,然後透過轉換來統合資料,簡化初始擷取程序。

透過 Google Cloud 解決業務難題

新客戶可以獲得價值 $300 美元的免費抵免額,盡情試用各項 Google Cloud 功能。

Google Cloud 如何運用 ELT

Google Cloud 提供一套完整的服務,可協助您最佳化 ELT 架構,讓組織能建構穩固且可擴充的資料管道。重點在於運用 BigQuery 等服務的強大功能,在資料庫中進行轉換。

以下是 Google Cloud 服務在 ELT 模式中的常見用途:

  • 擷取:您可以從眾多來源擷取資料,例如使用 Dataflow 處理串流和批次資料,或是使用 Managed Service for Apache Spark 處理程式輔助 Apache Spark 工作流程。
  • 載入:系統通常會將擷取的原始資料載入 Cloud Storage,這項服務可做為高擴充性且耐用的資料湖泊。資料可從 Cloud Storage 有效率地載入 BigQuery,這是 Google Cloud 提供的無伺服器多雲端資料倉儲,具備高度擴充性與成本效益。資料也能直接串流至 BigQuery。
  • 轉換:ELT 服務在 Google Cloud 中有出色的轉換功能。BigQuery 的設計目的是使用標準 SQL 執行 PB 規模的複雜轉換作業。具強大的處理引擎,可直接對儲存於其中的資料執行彙整、匯總、window 函式和其他轉換作業。使用者也可以在 JavaScript 中開發 user-defined function (UDF),或是運用 BigQuery ML (BigQuery 機器學習) 進行資料庫內機器學習。原始資料通常會保留在 Cloud Storage 或個別的 BigQuery 資料表中,可讓您以多種方式重新轉換。

Google Cloud 基礎架構提供原始資料的可擴充儲存空間、快速載入功能,以及 BigQuery 內的強大引擎,可有效率地執行轉換作業,符合 ELT 的核心原則。這項功能可讓資料工程師在代管的無伺服器環境中建構管道,快速接收資料,並依據特定分析需求加以修正。

展開下一步行動

運用價值 $300 美元的免費抵免額和超過 20 項一律免費的產品,開始在 Google Cloud 中建構產品與服務。