Knowledge Catalog(以前称为 Dataplex Universal Catalog)提供了一个统一的结构化元数据管理平台,可用于管理分布式数据资产。它会自动发现、编入索引和整理技术结构、业务情境、数据质量指标和运营关系。
通过将元数据整理到灵活且可扩展的元模型中, Knowledge Catalog 建立了结构基础 ,以便在 Google 的 Agentic Data Cloud 中构建 Active Context Graph。借助此情境图,数据团队可以发现和治理资产,同时让生成式 AI 智能体能够检索到有依据且可信的业务情境。
Knowledge Catalog 元模型
Knowledge Catalog 通过容器、资产、架构和关系的模块化层次结构来整理元数据:
- 容器和资产:条目组用于整理条目,这些条目代表 各个数据资产及其架构列。
- 结构化丰富:切面类型用于定义切面的架构,这些切面会将结构化元数据附加到条目、列或关系。
- 标准和治理:条目类型用于定义对条目强制执行 必需切面的模板。
- 关系:条目链接类型用于定义连接相关条目和业务术语的关系(条目链接) 。
下表总结了系统管理型资源 (由 Google Cloud自动提供)与用户定义的自定义资源之间的区别:
| 元模型元素 | 系统管理型(内置) | 用户定义型(自定义) |
|---|---|---|
| 条目组 | 针对 Google Cloud 服务(例如
@bigquery、@spanner、@pubsub)按项目预定义。 |
由用户创建,用于对自定义数据资产和 权限进行分组和管理。 |
| 条目 | 自动从 Google Cloud 来源(例如 BigQuery 表、视图、数据集和模型)填充。 | 由用户创建,用于表示定制的数据源、文件或 第三方数据库。 |
| 切面类型 | 预定义的系统模板(例如 Schema、
Overview、Contacts、DataQuality、
Lineage)。 |
由用户创建,用于定义特定于网域的元数据架构(例如 PII 分类或 SLA 层级)。 |
| 切面 | 自动从源系统、查询日志或自动 扫描填充。 | 由用户、流水线或智能体创建,并附加到条目、 列或条目链接。 |
| 条目类型 | 表示 Google Cloud 资源类型的预定义模板。 | 由用户定义,用于为自定义 数据资产指定必需切面和可选切面。 |
| 条目链接 | 内置的关系类型(例如 synonym、
definition、schema-join、
related)。 |
在特定条目或列之间创建的实例,用于对 跨系统连接进行建模。 |
以下部分介绍了构成 Knowledge Catalog 元模型的主要组件。
条目组
条目组 (EntryGroup) 是条目和条目链接的区域容器,可作为管理这些资源的管理和安全边界。
使用条目组可配置以下内容:
- 身份和访问权限管理访问权限控制:向特定 团队授予对条目组的查看或修改权限,而无需修改各个条目的权限。
- 位置和项目归因:按地理区域和 项目所有权对资产进行分组。
对于 Google Cloud 来源,Knowledge Catalog 会创建
系统条目组(例如 @bigquery 或
@spanner)。对于自定义数据源,您可以创建自定义条目组。
例如,财务团队可以创建一个名为 production_finance_data 的自定义条目组,以便在一个位置管理所有与财务相关的自定义条目的访问权限。
如需了解详情,请参阅条目组。
条目和架构路径
条目 (Entry) 表示单个数据资产。条目可以表示结构化数据库表、分析模型、非结构化对象表或自定义外部数据集。
条目的关键组件包括:
- 条目标识符:父条目组中的唯一资源名称。
- 条目类型:用于定义条目的结构和 必需切面的模板。
- 切面:附加到条目的结构化元数据属性。
- 架构路径(列):数据资产中的特定子部分或字段,例如 BigQuery 表中的列或 JSON 架构中的字段。
通过列,您可以将元数据附加到资产中的各个字段。您无需手动定义列;当您将 schema 类型的切面附加到条目时,系统会自动填充列。您可以使用点表示法路径(例如 customer.address.postal_code)引用嵌套字段。
例如,名为 orders_project.sales.customer_orders 的 BigQuery 表表示为一个条目。如需将该表中的 email_address 字段描述为包含敏感信息,您可以将分类切面直接附加到 email_address 列路径。
如需了解详情,请参阅条目。
切面类型
切面类型 (AspectType) 是一个可重复使用的架构模板,用于定义切面的字段、数据类型和验证规则。每个切面都是某种切面类型的一个实例。
切面类型可以是系统定义型 (由 提供 Google Cloud)或 自定义型 (由您的组织创建)。
为自定义切面类型定义 metadata_template 时,您可以使用以下受支持的数据类型:
| 字段数据类型 | 说明 | 用例示例 |
|---|---|---|
string |
文本值 (UTF-8)。 | 所有者电子邮件、数据分类标签、部门名称。 |
integer / number |
数值(整数或浮点数)。 | 数据保留天数、SLA 目标百分比、优先级排名。 |
boolean |
true 或 false 标志。 | contains_pii: true、is_certified: false。 |
enum |
允许的字符串值的预定义列表。 | 环境:["DEV", "STAGING", "PROD"]。 |
datetime / timestamp |
ISO 8601 格式的日期和时间。 | 上次认证日期、合规性审核截止日期。 |
record |
包含子字段的嵌套结构化对象。 | ContactInfo { name: string, email: string, phone: string }。 |
array |
任何原始类型或记录类型的重复值列表。 | 辅助数据所有者列表:["user1@example.com", "user2@example.com"]。 |
map |
可扩展属性的键值对字符串。 | 自定义部署标记:{"cost_center": "1042", "tier": "gold"}。 |
例如,如需为联系信息定义可重用的模板,您可以创建一个名为 ContactInfo 的切面类型,其中包含 owner_name (string)、email (string) 和 support_channel (string) 字段。
如需了解详情,请参阅切面类型。
切面
切面 (Aspect) 是一组符合切面类型的相关元数据字段。切面会附加到条目、条目路径(列)或条目链接,以描述该资源。
与旧版标记系统不同,Knowledge Catalog 中的切面直接封装在其父条目或条目链接中,这让您可以执行原子读取和写入操作。
切面用于多种功能:
- 技术结构:
Schema切面用于描述表列、 数据类型和说明。 - 业务情境:自定义切面用于描述所有权、合规性和 生命周期状态。
- 运营信任:数据质量切面用于记录自动规则扫描 结果和验证分数。
- 非结构化实体图:
GraphProfile切面用于捕获 AI 从原始文件中提取的实体和关系边。
例如,您可以创建一个 ContactInfo 切面类型的实例,其值为 {"owner_name": "Alex", "email": "alex@example.com"},并将其附加到 customer_orders 条目。
如需了解详情,请参阅切面。
条目类型
条目类型 (EntryType) 是用于创建自定义条目的治理模板。它通过建立必须附加到该类型条目的必需切面类型来强制执行元数据质量标准。
当您创建特定条目类型的条目时,Knowledge Catalog 会验证条目类型中标记为 required 的所有切面类型是否存在且有效。
例如,您可以创建一个名为 CertifiedDataProduct 的条目类型,该类型将 OwnerInfo 和 DataRetentionPolicy 切面类型指定为必需类型。使用此条目类型创建的任何新条目都必须包含这些切面,然后才能保存。
如需了解详情,请参阅条目类型。
条目链接和条目链接类型
条目链接 (EntryLink) 用于在两个数据条目之间或条目中的特定列之间建立语义关系。每个条目链接都是条目链接类型 (EntryLinkType) 的一个实例。
条目链接可以是定向的,也可以是非定向的:
- 对称(非定向):双方都是对等方的关系
(例如
synonym、related或schema-join)。 - 不对称(定向):具有明确来源和
目标的关系(例如
definition,将业务术语库术语链接到 表列)。
您还可以将切面直接附加到条目链接(schema-join 链接除外)。这样,您就可以描述关系本身,例如记录联接置信度分数、转换规则或映射备注。
Knowledge Catalog 支持以下内置条目链接类型:
synonym:连接等效的业务概念或替代术语。related:连接跨系统的松散耦合资产。definition:将业务术语库定义连接到物理列或条目。schema-join:连接可以沿匹配的外键或架构路径联接的表。
如需了解详情,请参阅
EntryLinks REST 参考文档。
业务术语库和术语
借助业务术语库,您可以通过定义术语库、类别和业务术语来建立正式的业务分类。
使用 definition 或 synonym 类型的条目链接,您可以将业务术语直接映射到物理条目和列路径。当用户或 AI 智能体使用自然语言搜索目录时,搜索引擎会解析这些业务术语以找到正确的物理数据资产。
如需了解详情,请参阅管理业务术语库。
支持的 Google Cloud 来源
Knowledge Catalog 会自动从以下 Google Cloud 来源提取元数据。对于某些服务(例如 AlloyDB for PostgreSQL 和 Cloud SQL),您必须先启用 Knowledge Catalog 集成,然后才能提取元数据:
Analytics 和 Lakehouse
- BigQuery 数据集、表、视图、模型、例程、连接和关联的数据集
- BigQuery Sharing(以前称为 Analytics Hub)交换和清单
- Dataform 仓库和代码资产
- Dataproc Metastore 服务、数据库和表
Iceberg REST Catalog 表(包括 Google Cloud Lakehouse 运行时目录 IRC、Databricks Unity IRC、AWS Glue Data Catalog IRC 和 Snowflake Horizon IRC)
AI 和机器学习
- Vertex AI 模型、数据集、特征组、特征视图和在线存储区实例
商业智能
- Looker (Google Cloud Core) 实例、信息中心、信息中心元素、Look、LookML 项目、模型、探索和视图 (预览版)
数据库
- Bigtable 实例、集群和表(包括列族详细信息)
- Spanner 实例、数据库、表和视图
流式传输和消息传递
- Pub/Sub 主题
非结构化数据
运营数据库
- AlloyDB for PostgreSQL 集群、实例、数据库、架构、表和 视图(预览版)。 Knowledge Catalog 只会从 AlloyDB 主实例中检索元数据,而不会从读取副本中检索元数据。如需了解详情,请参阅 使用 Knowledge Catalog 管理 AlloyDB for PostgreSQL 资源。
- Cloud SQL 实例、数据库、架构、表、视图。 Knowledge Catalog 只会从 Cloud SQL 主实例中检索元数据,而不会从读取副本中检索元数据。如需了解详情,请参阅 使用 Knowledge Catalog 管理 Cloud SQL 资源。
如需将元数据从第三方来源导入 Knowledge Catalog,您可以使用 Knowledge Catalog 连接器或托管式连接流水线。 如需了解详情,请参阅 Knowledge Catalog 连接器简介和 托管式连接 概览。
项目和位置限制条件
Knowledge Catalog 中的目录资源位于特定 项目 Google Cloud 和地理位置中。适用以下范围限制条件:
| 资源 | 位置规则 | 项目规则 |
|---|---|---|
| 条目 | 条目的位置必须与其 EntryType 的位置匹配,
或者 EntryType 必须为 global。 |
可以引用全局或同一项目的条目类型。 |
| 条目的切面 | 切面的 AspectType 必须存储在与条目相同的位置
,或者 AspectType 必须为 global。 |
可以引用全局或同一项目的切面类型。 |
| 条目链接 | 条目链接的位置必须与其 EntryLinkType 匹配,或者
EntryLinkType 必须为 global。 |
可以链接位于同一 组织内不同项目的条目。 |
| 条目类型 | 由存储在与条目类型相同位置的切面类型、
或 global 切面类型组成。 |
如果条目类型引用自定义切面类型,则切面类型必须 位于同一项目和位置。 |
元数据更改 Feed
Knowledge Catalog 可以使用元数据更改 Feed 近乎实时地流式传输元数据更改事件。
元数据更改 Feed 会将有关条目创建、更新或删除的通知发布到您配置的 Pub/Sub 主题。订阅者客户端可以使用这些事件来自动执行运营工作流,例如在架构更改时触发数据质量评估或更新下游治理信息中心。
如需了解详情,请参阅 元数据更改 Feed 简介。
价格
Knowledge Catalog 使用元数据存储 SKU 来收取存储的元数据量的费用。如需了解详情,请参阅 Knowledge Catalog 价格。
以下各项不收取费用:
- 创建和管理目录元模型资源(条目类型、切面类型、条目组、条目和条目链接)。
- 在 Google Cloud 控制台中执行的 Search API 调用和搜索查询。