適用於 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 (管理體驗最完善) | |
讀取 / 寫入 |
開放原始碼引擎 (讀取/寫入) BigQuery (僅限讀取) |
開放原始碼引擎 (讀取/寫入) BigQuery (僅限讀取) |
開放原始碼引擎 (僅能使用 Iceberg 程式庫讀取,可透過 BigQuery Storage API 讀取/寫入) BigQuery (讀取/寫入) |
開放原始碼引擎 (可與 BigQuery Storage API 互通讀取/寫入) BigQuery (讀取/寫入) |
用途 | 遷移、BigQuery 載入的暫存資料表、 自我管理 | 開放式 lakehouse | 開放式 lakehouse,提供企業級儲存空間,適用於分析、串流和 AI | 企業級儲存空間,適用於分析、串流和 AI |
後續步驟
- 進一步瞭解 BigLake Metastore。