適用於 lakehouse 的最佳資料和中繼資料格式

本文將說明使用 BigLake 設計資料湖倉時,最適合採用的資料和中繼資料格式。

資料湖倉是一種資料架構,結合了資料倉儲的結構和資料湖泊的原始資料彈性。這個架構可為各種資料用途提供彈性和擴充性。Google Cloud 資料湖倉解決方案稱為 BigLake,可連結 Google Cloud 開放原始碼服務,建立統一的分析和 AI 介面。以 BigLake 建構的 data lakehouse 包含下列重要元件:

  • 儲存功能:Cloud Storage 或 BigQuery,建議使用 Apache Iceberg 做為開放式資料表格式
  • 中繼資料存放區:BigLake 中繼資料存放區
  • 查詢引擎:BigQuery、Apache Spark、Apache Flink、Trino 或其他開放原始碼引擎
  • 資料寫入和分析工具:各種 BigQuery 和開放原始碼連線

BigLake 會將所有這些元件整合在單一體驗中,並提供統一的管理機制。如要進一步瞭解 BigLake 架構和創新功能,請參閱「BigLake 的演進」。

選取中繼存放區

我們建議您使用 BigLake Metastore 做為 metastore。BigLake metastore 是全代管無伺服器 metastore,適用於 Google Cloud上的 lakehouse。這項服務可提供多個來源的中繼資料單一事實來源,並可從 BigQuery 和各種開放式資料處理引擎存取,因此您不必使用自訂工具,在不同存放區之間複製及同步處理中繼資料。BigLake metastore 支援 Dataplex Universal Catalog,可為所有支援的引擎提供統一且精細的存取權控管機制,並啟用端對端治理功能,包括完整的歷程、資料品質和搜尋功能。

選取表格格式

將 BigLake metastore 做為開放式 lakehouse 的 metastore 時,您可以選擇下列資料表格式:

  • 選擇標準 BigQuery 資料表,用於管理 BigQuery 中的資料。 這些資料表完全由 BigQuery 管理,並具備最先進的資料分析和管理功能。您仍可將這些資料表連結至 BigLake metastore。選擇這個選項適用於非 Iceberg 資料表。
  • 選擇 BigQuery 中的 BigLake Iceberg 資料表,即可在 BigQuery 中享有全代管體驗。 這些資料表是您從 BigQuery 建立的 Iceberg 資料表,並儲存在 Cloud Storage 中。與使用 BigLake 中繼存放區的所有資料表一樣,開放原始碼引擎或 BigQuery 都能讀取這些資料表。不過,只有 BigQuery 引擎可以直接寫入這些資料表。如要讓 BigQuery 管理擷取、轉換及載入 (ETL) 工作流程,請選擇這個選項。
  • 如要在 Google Cloud上取得半代管體驗,請選擇「BigLake Iceberg 資料表」 這些資料表是您從開放原始碼引擎建立,並儲存在 Cloud Storage 中的 Iceberg 資料表。與使用 BigLake Metastore 的所有資料表一樣,這些資料表可由開放原始碼引擎或 BigQuery 讀取。不過,只有建立資料表的開放原始碼引擎才能寫入資料。如要讓開放原始碼引擎管理 ETL 工作流程,請選擇這個選項。
  • 如果資料表位於 BigLake Metastore 外部,請選擇「外部資料表」 這些資料表的資料和中繼資料完全由您自行管理,您完全依賴開放式資料表格式 (例如 Iceberg、Apache Hudi 或 Delta Lake) 的功能。BigQuery 只能從這些資料表讀取資料。如要自行在第三方目錄中管理資料和中繼資料,請選擇這個選項。

請參閱下表,比較表格格式選項:

外部資料表 BigLake Iceberg 資料表 BigQuery 中的 BigLake Iceberg 資料表 標準 BigQuery 資料表
Metastore 外部或自行代管的 Metastore BigLake Metastore BigLake Metastore BigLake Metastore
儲存空間 Cloud Storage / Amazon S3 / Azure Cloud Storage Cloud Storage BigQuery
管理 客戶或第三方 Google Google (高度管理型體驗) Google (管理體驗最完善)
讀取 / 寫入 開放原始碼引擎 (讀取/寫入)

BigQuery (僅限讀取)
開放原始碼引擎 (讀取/寫入)

BigQuery (僅限讀取)
開放原始碼引擎 (僅能使用 Iceberg 程式庫讀取,可透過 BigQuery Storage API 讀取/寫入)

BigQuery (讀取/寫入)

開放原始碼引擎 (可與 BigQuery Storage API 互通讀取/寫入)

BigQuery (讀取/寫入)

用途 遷移、BigQuery 載入的暫存資料表、 自我管理 開放式 lakehouse 開放式 lakehouse,提供企業級儲存空間,適用於分析、串流和 AI 企業級儲存空間,適用於分析、串流和 AI

後續步驟