Knowledge Catalog(以前称为 Dataplex Universal Catalog)提供了一个统一的结构化元数据管理平台,可用于管理分布式数据资产。它会自动发现、编入索引和整理技术结构、业务情境、数据质量指标和运营关系。
通过将元数据整理成灵活且可扩展的元模型,Knowledge Catalog 在 Google 的Agentic Data Cloud中为主动上下文图奠定了结构基础。借助此上下文图,数据团队可以发现和管理资产,同时让生成式 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) 是一组符合切面类型的相关元数据字段。切面会附加到条目、条目路径(列)或条目链接,以描述相应资源。
与旧版标记系统不同,知识目录中的方面直接封装在其父条目或条目链接中,这让您可以执行原子读取和写入操作。
切面可用于多个函数:
- 技术结构:
Schema方面描述了表列、数据类型和说明。 - 业务背景:自定义方面描述所有权、合规性和生命周期状态。
- 操作信任度:数据质量方面会记录自动规则扫描结果和验证得分。
- 非结构化实体图:
GraphProfile方面可捕获从原始文件中提取的 AI 实体和关系边。
例如,您可以创建一个值为 {"owner_name": "Alex", "email": "alex@example.com"} 的 ContactInfo 切面类型实例,并将其附加到 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 集成,然后才能提取元数据:
分析和 Lakehouse
- BigQuery 数据集、表、视图、模型、例程、连接、关联的数据集和图(预览版)
- BigQuery Sharing(以前称为 Analytics Hub)交换和清单
- Dataform 仓库和代码资产
- Dataproc Metastore 服务、数据库和表
Iceberg REST 目录表(包括 Google Cloud Lakehouse 运行时目录 IRC、Databricks Unity IRC、AWS Glue Data Catalog IRC 和 Snowflake Horizon IRC)
Apache Hive 表
SAP Business Data Cloud (BDC) Delta Lake 表
由 Lakehouse 运行时目录管理的 Apache Iceberg 表
AI 和机器学习
- Vertex AI 模型、数据集、特征组、特征视图和在线存储区实例
商业智能
- Looker (Google Cloud Core) 实例、信息中心、信息中心元素、Look、LookML 项目、模型、Explore 和视图(预览版)
数据库
- Bigtable 实例、集群和表(包括列族详细信息)
- Spanner 实例、数据库、表和视图
流式传输和消息传递
- Pub/Sub 主题
非结构化数据
运营数据库
- AlloyDB for PostgreSQL 集群、实例、数据库、架构、表和视图(预览版)。 Knowledge Catalog 只会从 AlloyDB 主实例中检索元数据,而不会从读取副本中检索元数据。如需了解详情,请参阅使用 Knowledge Catalog 管理 AlloyDB for PostgreSQL 资源。
- Cloud SQL 实例、数据库、架构、表、视图。 知识目录只会从 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 控制台中执行的搜索 API 调用和搜索查询。