BigLake metastore 是全代管的無伺服器服務,可為資料湖倉提供單一的事實來源。可讓 Apache Spark、Apache Flink 和 BigQuery 等多個引擎共用資料表和中繼資料,不必複製檔案。
BigLake Metastore 支援儲存空間存取權委派 (憑證販售),可移除直接存取 Cloud Storage 儲存空間的必要性,進而提升安全性。此外,BigQuery 還整合了 Dataplex Universal Catalog,可提供統一的治理、歷程和資料品質。
主要功能
BigLake metastore 是 BigLake 的元件,可為資料管理和分析提供多項優勢,包括無伺服器架構、透過開放式 API 實現引擎互通性、統一的使用者體驗,以及搭配 BigQuery 使用時的高效能分析、串流和 AI。如要進一步瞭解這些優點,請參閱「什麼是 BigLake?」一文。
設定選項
您可以透過下列兩種方式設定 BigLake metastore:Iceberg REST 目錄或 BigQuery 的自訂 Iceberg 目錄。最佳選項取決於您的用途,如下表所示:
| 用途 | 建議 |
|---|---|
| 希望開放原始碼引擎存取 Cloud Storage 中的資料,並與其他引擎 (包括 BigQuery 和 AlloyDB for PostgreSQL) 互通的新 BigLake metastore 使用者。 | 使用 Iceberg REST 目錄。 |
| 如果現有 BigLake metastore 使用者目前有搭配 BigQuery 自訂 Iceberg 目錄的資料表, | 繼續使用 BigQuery 的自訂 Iceberg 目錄,但針對新工作流程使用 Iceberg REST 目錄。透過 BigQuery 目錄聯盟,使用 Iceberg REST 目錄即可查看透過 BigQuery 的自訂 Iceberg 目錄建立的資料表。 |
與 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 TOSpark SQL 陳述式。 - BigQuery 中的 BigLake 中繼存放區資料表與標準資料表適用相同的配額和限制。
- 與查詢標準 BigQuery 資料表中的資料相比,透過 BigQuery 引擎查詢 BigLake 中繼存放區資料表的效能可能較慢。一般來說,查詢速度應與從 Cloud Storage 讀取資料的速度相同。
- 如果查詢使用 BigLake 中繼資料存放區資料表,即使傳回資料列,BigQuery 試算也可能會回報資料下限為 0 個位元組。這是因為系統必須執行完整查詢,才能判斷從資料表處理的資料量。執行查詢時,系統會收取處理這項資料的費用。
- 您無法在萬用字元資料表查詢中參照 BigLake metastore 資料表。
- 您無法使用
tabledata.list方法從 BigLake 中繼資料存放區資料表擷取資料。您可以改為將查詢結果儲存至 BigQuery 資料表,然後對該資料表使用tabledata.list方法。 - BigLake metastore 資料表不支援叢集。
- BigLake Metastore 資料表不支援彈性資料欄名稱。
- 系統不支援顯示 BigLake Metastore 資料表的資料表儲存空間統計資料。
- BigLake metastore 不支援 Iceberg 檢視區塊。