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

在現今資料導向的環境中,組織不斷尋求更有效率的方式,來管理及分析大量資訊。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 (擷取、載入、轉換)

ETL (擷取、轉換、載入)

作業順序

擷取、載入、轉換

擷取、轉換、載入

轉換位置

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

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

已載入至目標的資料

原始、未轉換資料

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

處理功能


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

需要專用的 ETL 引擎或測試環境伺服器


資料擷取速度


通常能更快首次載入資料

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


對新運用方式的彈性


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

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

結構定義處理

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

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

資料類型適切性


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

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

資源使用率

充分發揮可擴充雲端資料倉儲的效益

轉換作業可能需要個別基礎架構


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

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

ELT 用途

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

雲端資料倉儲

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

大數據資料分析

當您需要處理大量、高速流入且種類繁多的資料時,ELT 可讓您快速將資料擷取至資料湖泊或可擴充的儲存空間。接著,您可以使用分散式處理框架,視需要套用轉換。

資料湖泊導入

資料湖泊是用來以原生格式儲存大量原始資料的工具。ELT 程序會載入這些原始資料,然後各種分析和處理引擎就能轉換及使用這些資料。

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

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

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

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

整合多種資料來源

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

透過 Google Cloud 解決業務難題

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

Google Cloud 如何使用 ELT

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

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

  • 擷取:您可以從眾多來源擷取資料,例如使用 Dataflow 處理批次和串流資料、使用 Dataproc 處理 Spark 和 Hadoop 工作負載,或是直接透過連接器和 API 擷取 Google Cloud 服務中的資料。Pub/Sub 可用來擷取即時串流資料。
  • 載入:系統通常會將擷取的原始資料載入 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 中建構產品與服務。