湖仓一体的最佳数据和元数据格式

本文档将指导您在使用 BigLake 设计数据湖仓时了解最佳数据和元数据格式。

数据湖仓是一种将数据仓库的结构与数据湖仓的原始数据灵活性相结合的数据架构。此架构可为各种数据应用场景提供灵活性和可伸缩性。Google Cloud 数据湖仓解决方案称为 BigLake,它可连接 Google Cloud 和开源服务,从而为分析和 AI 创建统一的界面。使用 BigLake 构建的数据湖仓包含以下关键组件:

  • 存储功能:Cloud Storage 或 BigQuery,建议使用 Apache Iceberg 作为开放式表格式
  • metastore:BigLake metastore
  • 查询引擎:BigQuery、Apache Spark、Apache Flink、Trino 或其他开源引擎
  • 用于数据写入和分析的工具:各种 BigQuery 和开源连接

BigLake 将所有这些组件整合到统一治理的一站式体验中。如需详细了解 BigLake 架构和创新,请参阅 BigLake 发展

选择 metastore

对于 metastore,我们建议使用 BigLake metastore。BigLake metastore 是一种全托管式无服务器 metastore,适用于 Google Cloud上的湖仓一体。它提供了一个可信来源,用于管理来自多个来源的元数据,并且可以从 BigQuery 和各种开放数据处理引擎访问,从而无需使用自定义工具在不同代码库之间复制和同步元数据。BigLake metastore 受 Dataplex Universal Catalog 支持,后者可在所有受支持的引擎中提供统一且精细的访问权限控制,并实现端到端治理,包括全面的沿袭、数据质量和可发现性功能。

选择表格式

如果将 BigLake metastore 用作开放式湖仓一体的 metastore,您可以选择以下表格格式:

  • 对于在 BigQuery 中管理的数据,请选择标准 BigQuery 表 这些表由 BigQuery 完全管理,并具有最先进的数据分析和管理功能。您仍然可以将这些表连接到 BigLake metastore。对于非 Iceberg 表,请选择此选项。
  • 如需在 BigQuery 上获得全托管式体验同,请选择 BigQuery 中的 BigLake Iceberg 表 这些表是您通过 BigQuery 创建并存储在 Cloud Storage 中的 Iceberg 表。与使用 BigLake metastore 的所有表一样,它们可以由开源引擎或 BigQuery 读取。不过,只有 BigQuery 引擎可以直接写入这些表。如果您希望 BigQuery 管理提取、转换和加载 (ETL) 工作流,请选择此选项。
  • 选择 BigLake Iceberg 表,以便在 Google Cloud上获得半托管式体验。 这些表是您通过开源引擎创建并存储在 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 加载的暂存表、自我管理 开放式湖仓一体 开放式湖仓一体,适用于分析、流式处理和 AI 的企业级存储 适用于分析、流式传输和 AI 的企业级存储

后续步骤