BigLake 中繼資料庫簡介

BigLake metastore 是可擴充的統合式無伺服器代管 metastore,可將儲存於 Google Cloud 的湖倉資料連結至多個執行階段,包括開放原始碼引擎 (例如 Apache Spark) 和 BigQuery。這項服務提供基礎架構,讓您運用 Apache Iceberg 等主要開放原始碼資料表格式,建構開放式、代管式且高效能的湖倉,並透過自動化資料管理和內建的治理機制進行管理。

BigLake Metastore 可為多個來源的中繼資料提供單一資訊來源,因此您不必使用自訂工具,在不同分析系統和存放區之間複製及同步處理資料和中繼資料。此外,它也支援儲存空間存取權委派模型 (例如憑證販售),因此目錄使用者不必直接存取 Cloud Storage bucket。

對於在 BigQuery 中使用 BigLake Iceberg 表格的工作流程,Dataplex Universal Catalog 也支援 BigLake metastore,可為所有支援的引擎提供統一且精細的存取權控管機制,並啟用端對端治理機制,包括完整的歷程、資料品質和探索功能。

您可以透過下列兩種方式設定 BigLake metastore:Iceberg REST 目錄BigQuery 的自訂 Iceberg 目錄。最佳選項取決於您的用途,如下表所示:

用途 建議
BigLake metastore 新使用者,希望開放原始碼引擎能存取 Cloud Storage 中的資料,並需要與其他引擎 (包括 BigQuery 和 AlloyDB) 互通。 使用 Iceberg REST 目錄
如果現有 BigLake metastore 使用者目前有搭配 BigQuery 自訂 Iceberg 目錄的資料表, 繼續使用 BigQuery 的自訂 Iceberg 目錄,但針對新工作流程使用 Iceberg REST 目錄。透過同盟,使用 Iceberg REST 目錄即可查看透過 BigQuery 的自訂 Iceberg 目錄建立的資料表。

主要功能

BigLake Metastore 在資料管理和分析方面有幾項主要優勢:

  • 無伺服器架構。BigLake metastore 提供無伺服器架構,因此您不必管理伺服器或叢集。這麼做有助於減少作業負擔、簡化部署作業,並根據需求自動調度資源。
  • 透過開放式 API 實現引擎互通性。BigLake metastore 支援與開放原始碼和第三方引擎互通。BigLake metastore 可讓您直接透過開放原始碼引擎 (例如 Spark 和 Flink) 和 BigQuery 存取資料表,因此不必執行額外的連線步驟,就能查詢開放格式資料表。這項設定有助於簡化分析工作流程,並減少複雜的資料移動或 ETL 程序需求。
  • 一致的使用者體驗。BigLake metastore 提供開放原始碼引擎和 BigQuery 適用的統一工作流程。這個統一的體驗代表您可以設定 Spark 環境,例如透過 Iceberg REST 目錄自行代管、由 Dataproc 代管,或在 BigQuery 筆記本中設定。
  • 透過 BigQuery 執行高效能數據分析、串流處理和 AI 作業。 BigLake 中繼資料存放區可讓您將 Iceberg 資料儲存在自己的 Cloud Storage bucket 中,並運用 BigQuery 的高延展性即時中繼資料管理功能。這個架構可讓您享有 Cloud Storage 的開放性與資料擁有權,以及 BigQuery 的全代管串流、分析和 AI 功能。

與 BigLake Metastore (傳統版) 的差異

建議您在 Google Cloud使用 BigLake metastore,而 BigLake metastore (傳統版) 則視為舊版功能。

BigLake Metastore 與 BigLake Metastore (傳統版) 的主要差異包括:

  • BigLake metastore 支援與 Spark 等開放原始碼引擎直接整合,有助於減少儲存中繼資料和執行工作時的冗餘。BigLake metastore 中的資料表可直接從多個開放原始碼引擎和 BigQuery 存取。
  • BigLake metastore 支援 Iceberg REST 目錄,但 BigLake metastore (傳統版) 不支援。

BigLake metastore 限制

BigLake 中繼存放區的資料表有以下限制:

  • 您無法使用 BigQuery 資料定義語言 (DDL) 或資料操縱語言 (DML) 陳述式,建立或修改 BigLake Iceberg 資料表。您可以使用 BigQuery API (透過 bq 指令列工具或用戶端程式庫) 修改 BigLake Iceberg 資料表,但這麼做可能會導致變更與外部引擎不相容。
  • BigLake metastore 資料表不支援重新命名作業ALTER TABLE ... RENAME TO Spark SQL 陳述式。
  • BigQuery 中的 BigLake 中繼存放區資料表與標準資料表適用相同的配額和限制
  • 與查詢標準 BigQuery 資料表中的資料相比,透過 BigQuery 引擎查詢 BigLake 中繼存放區資料表的效能可能較慢。一般來說,查詢速度應與從 Cloud Storage 讀取資料的速度相同。
  • 如果查詢使用 BigLake Metastore 資料表,即使傳回資料列,BigQuery 試算也可能會回報資料下限為 0 位元組。這是因為在完整查詢執行完畢前,系統無法判斷從資料表處理的資料量。執行查詢時,系統會收取處理這項資料的費用。
  • 您無法在萬用字元資料表查詢中參照 BigLake metastore 資料表。
  • 您無法使用 tabledata.list 方法從 BigLake metastore 資料表擷取資料。您可以將查詢結果儲存至 BigQuery 資料表,然後對該資料表使用 tabledata.list 方法。
  • BigLake metastore 資料表不支援叢集
  • BigLake Metastore 資料表不支援彈性資料欄名稱
  • 系統不支援顯示 BigLake Metastore 資料表的資料表儲存空間統計資料。
  • BigLake metastore 不支援 Iceberg 檢視區塊。

後續步驟