無邊界湖倉架構可讓您在Google Cloud上,整合分散式環境和開放格式儲存系統的資料分析。瞭解這些基礎概念,有助於您評估架構,並在 Lakehouse 工作負載中設定統一目錄、多引擎運算和治理。
這份參考資料並未詳列所有功能,而是概述 Lakehouse 說明文件中的核心術語。
核心概念
下列概念是 Google Cloud Lakehouse 架構的基礎。
資料湖倉
資料湖倉結合了資料湖泊的成本效益和彈性,以及資料倉儲的資料管理和效能。您可以將資料以開放格式儲存在 Cloud Storage,並使用 BigQuery 功能,例如精確的安全控管和快速查詢。
獎章架構
資料湖倉中常見的設計模式是獎章架構,可將資料邏輯性地整理成結構和品質漸進的層級:
- 青銅 (原始) 層:擷取原始資料,並以開放格式 (例如 Cloud Storage 上的 Apache Iceberg) 儲存。
- 銀層 (已清理):清理、篩選及增補原始資料,並轉換為標準化資料表。
- 黃金 (精選) 層:提供經過完整精選、匯總的業務層級資料表。在 Google Cloud 的 Lakehouse 中,BigQuery 通常用於提供黃金層,以進行高效能消耗、報表和分析。
開放式互通性
開放式互通性是指多個分析和交易系統 (例如 BigQuery、Apache Spark 和 Apache Flink) 能夠以 Apache Iceberg 等開放格式,對單一資料副本執行作業。這樣一來,就不需要複製資料,並可確保不同工具之間的資料檢視畫面一致。
Lakehouse 執行階段目錄
Lakehouse 執行階段目錄是集中式無伺服器中繼資料服務,可做為 Google Cloud Lakehouse 的單一事實來源。讓多個引擎 (例如 Apache Spark、Apache Flink 和 BigQuery) 同時探索及查詢相同的資料表。
目錄類型
Lakehouse 執行階段目錄提供不同類型的目錄,可用於管理中繼資料。
Apache Iceberg REST 目錄端點
這是以 Apache Iceberg REST 目錄端點為基礎的目錄。這項服務可讓開放原始碼引擎與 BigQuery 互通,並支援憑證販售和災難復原等功能。
目錄儲存空間設定
建立 Apache Iceberg REST 目錄端點時,您可以選擇兩種儲存空間模型:
- 多 bucket 目錄 (建議):可獨立命名目錄,並設定預設儲存位置 (
default_location),以及restricted_locations中最多 128 個額外的 Cloud Storage bucket 或子路徑。設定用戶端查詢引擎 (例如 Spark 或 Trino) 時,請將倉儲路徑設為bl://projects/PROJECT_ID/catalogs/CATALOG_ID。 - 單一 bucket 目錄:舊版設定,目錄會鎖定至單一 Cloud Storage bucket,並沿用 bucket 名稱。設定用戶端查詢引擎時,請將倉儲路徑設為
gs://CLOUD_STORAGE_BUCKET_NAME。
BigQuery 的自訂 Apache Iceberg 目錄
這項整合功能會直接使用 BigQuery 目錄,做為代管 Apache Iceberg 資料表的支援中繼資料服務。
Apache Hive 目錄端點
這個端點可與依賴 Apache Hive metastore (HMS) 介面的開放原始碼工作負載相容,讓您在 Google Cloud上,針對全代管 metastore 服務執行 Apache Hive 或 Spark 工作負載。
資料表類型
Google Cloud 的 Lakehouse 支援多種資料表格式,具體取決於用於管理資料的引擎和您使用的目錄端點。
Apache Iceberg 資料表
這些是您透過開放原始碼引擎建立,並儲存在 Cloud Storage 的 Apache Iceberg 資料表。Lakehouse 執行階段目錄會管理這些資料表,並透過 Apache Iceberg REST 目錄端點提供存取權。開放原始碼引擎具備這些資料表的讀取和寫入權限,而 BigQuery 則具備讀取和寫入權限 (預先發布版)。如果希望 ETL 工作流程由開放原始碼引擎管理,這個選項最合適。
BigQuery 資料表
這些資料表由 BigQuery 管理。
Apache Iceberg 資料表
這些 Apache Iceberg 資料表是從 BigQuery 建立,並儲存在 Cloud Storage。BigQuery 會處理所有資料版面配置和最佳化作業。雖然這些資料表可由多個引擎讀取,但只有 BigQuery 引擎能直接寫入資料。
原生資料表
這些資料表由 BigQuery 管理,並將資料儲存在 BigQuery 儲存空間中。您可以將這些資料表連結至 Lakehouse 執行階段目錄。
外部資料表
外部資料表位於 Lakehouse 執行階段目錄之外。資料和中繼資料會在第三方目錄 (例如 Cloud Storage、S3 或 Azure Blob Storage) 中自行管理。BigQuery 只能讀取這些資料表。
表格功能
資料表演變
Google Cloud 的 Lakehouse 支援 Apache Iceberg 資料表演進,可讓您隨著時間變更資料表的結構定義或分區規格,而不必重寫資料表資料或重新建立資料表。
時間回溯
時間回溯功能可讓您查詢特定時間點或快照 ID 的資料表資料。這項功能可用於稽核、重現實驗,或在不小心刪除資料後還原資料。
中繼資料快取
中繼資料快取功能可加快外部資料表的查詢速度。這類資料表會將中繼資料副本儲存在 BigQuery 儲存空間,減少執行查詢時從 Cloud Storage 讀取中繼資料檔案的需求。
Google Cloud 的 Lakehouse 資料表管理
Google Cloud 的 Lakehouse 資料表管理功能會自動執行壓縮和垃圾收集等工作,簡化 Lakehouse 維護作業。確保查詢效能和儲存效率達到最佳狀態。
互通性概念
跨雲端資料存取
無邊界湖倉中的跨雲端資料存取功能,可讓您連線至遠端外部目錄 (例如 Databricks Unity Catalog、AWS Glue、Snowflake Horizon Catalog、Workday 資料湖泊或 SAP BDC)。這項服務會同步其他雲端服務供應商的中繼資料,讓您透過 Apache Iceberg REST 目錄端點,使用 BigQuery 或外部開放原始碼引擎查詢資料,不必遷移資料。
公開資料集
無邊界湖倉託管高品質的公開資料集,並透過 Apache Iceberg REST 目錄端點提供,讓您能以唯讀方式存取,進行探索和測試,不必管理基礎架構。
P.C.N.T. 命名結構
P.C.N.T. 命名結構是四部分慣例,用於從 BigQuery 唯一識別及查詢 Lakehouse 執行階段目錄中的資料表。代表 Project.Catalog.Namespace.Table:
- 專案: Google Cloud 專案 ID。
- Catalog:Lakehouse 執行階段目錄的名稱。
- 命名空間:資料表的邏輯群組 (類似資料集)。
- 資料表:資料表的名稱。
安全性觀念
連線
連線是 BigQuery 資源,用於儲存存取外部資料所需的憑證。在 Google Cloud 的 Lakehouse 中,連線會委派 Cloud Storage 的存取權,讓連線的服務帳戶代表您存取儲存空間 bucket。
憑證臨時配發
憑證臨時配發機制是一種安全機制,可強化 Lakehouse 執行階段目錄的存取控管。啟用後,服務會產生短期、範圍縮小的憑證,僅授予查詢所需特定檔案路徑的存取權。
統一管理
統一治理功能可與 Knowledge Catalog 整合,讓您集中定義及強制執行安全性和資料管理政策。將資料表註冊至 Lakehouse 執行階段目錄時,系統會自動將對應項目註冊至業務中繼資料目錄 (Knowledge Catalog),進而啟用資料歷程、語意搜尋和跨引擎集中管理功能,完全不需移動或複製檔案。
查詢引擎概念
Google Cloud 的 Lakehouse 將儲存空間與運算資源分開,讓各種分析引擎與開放式資料表互動。
Managed Service for Apache Spark
Managed Service for Apache Spark (舊稱 Dataproc Serverless) 提供全代管執行階段,可處理 Apache Iceberg 等開放式資料表格式。支援兩種主要執行模式:
- 無伺服器批次:專為自動化、非互動式資料處理管道和 ETL 工作負載設計。這種按執行次數付費的模式,可免除叢集管理工具、消除工作之間的資源爭用,並自動維護基礎架構。
- 無伺服器互動式工作階段:專為探索性資料分析、資料工程和資料科學實驗設計。互動式工作階段會在背景使用 Spark Connect 或遠端 Spark 核心,為 Apache Spark 筆記本提供支援,提供自動調度資源的環境,不需設定基礎架構。
服務級別
對 Lakehouse 執行階段目錄執行 Apache Spark 工作負載時,您可以選擇不同的服務級別:
- 標準級:預設執行級別,適用於標準批次處理工作負載。
- 進階級:提供進階功能,包括支援無伺服器互動式 Notebook 工作階段,以及 Lightning Engine 等效能加速功能。
工作階段範本
工作階段範本可簡化無伺服器互動式工作階段的設定。管理員可以定義及保留常見的環境設定 (例如目錄屬性、網路設定和執行階段版本)。這有助於提升一致性,並減少重複設定,提高開發人員的工作效率。您可以使用Google Cloud 控制台、gcloud CLI、REST API 或 Terraform 建立及管理工作階段範本。
可靠性概念
跨區域複製作業
跨區域複製功能會跨多個區域複製中繼資料,確保在區域服務中斷期間仍可使用目錄。
容錯移轉
容錯移轉是指在區域性服務中斷期間,在主要和次要區域之間切換,以維持目錄作業。