a49d31a8de
Java Checkstyle / java-checkstyle (push) Has been cancelled
OpenMetadata Service Unit Tests / Detect Changes (push) Has been cancelled
OpenMetadata Service Unit Tests / openmetadata-service-unit-tests (push) Has been cancelled
OpenMetadata Service Unit Tests / k8s_operator-unit-tests (push) Has been cancelled
OpenMetadata Service Unit Tests / openmetadata-service-unit-tests-status (push) Has been cancelled
324 lines
20 KiB
Markdown
324 lines
20 KiB
Markdown
<!-- WEHUB_ZH_README -->
|
||
> [!NOTE]
|
||
> 本文档由 WeHub 基于上游 README 翻译整理,属于社区翻译,非官方中文文档。
|
||
> [English](./README.en.md) · [原始项目](https://github.com/open-metadata/OpenMetadata) · [上游 README](https://github.com/open-metadata/OpenMetadata/blob/HEAD/README.md)
|
||
> 原作者、版权与许可证归属以原始项目及本仓库 LICENSE 文件为准。
|
||
|
||
# OpenMetadata
|
||
|
||
 [](https://github.com/open-metadata/OpenMetadata/releases)
|
||
|
||
## AI 的开放上下文层
|
||
|
||
**面向 AI 上下文、数据目录与元数据管理的最大且增长最快的开源项目。**
|
||
|
||
OpenMetadata 是一个开放平台,为每位数据用户、AI 助手和智能体提供可信的数据上下文、组织记忆与业务语义。
|
||
|
||
OpenMetadata 将技术元数据、数据质量信号、血缘(lineage)、列级血缘、所有权、使用情况、策略、对话、记忆、术语表、分类、指标、数据域、数据契约和数据产品整合为统一的元数据知识图谱。借助 **130+ 连接器**、开放元数据标准、语义搜索、API、SDK 和 MCP 服务器,OpenMetadata 为每位用户和 AI 系统提供受治理的上下文,以发现、理解、信任、记忆和使用数据。
|
||
|
||
**AI 不需要又一个原始数据库连接器。AI 需要上下文 + 记忆。**
|
||
|
||

|
||
|
||
OpenMetadata 提供 AI 需要了解的上下文:
|
||
|
||
- 存在哪些数据
|
||
- 数据的含义
|
||
- 谁拥有它
|
||
- 如何使用
|
||
- 来源
|
||
- 流向
|
||
- 是否新鲜、经过测试、已认证且可信
|
||
- 适用哪些业务概念、分类、术语表条目、策略、契约和数据产品
|
||
- 哪些下游仪表盘、流水线、指标、ML 模型和应用依赖它
|
||
- 已记录哪些关于它的对话、决策、假设和记忆片段(memory nuggets)
|
||
|
||
---
|
||
|
||
## 为何选择 OpenMetadata 用于 AI?
|
||
|
||
AI 系统需要的不仅是数据访问。它们还需要受治理的上下文、业务含义、信任信号、血缘、使用情况、所有权、标准以及组织记忆。
|
||
|
||
直接连接数据仓库、数据湖、仪表盘或流水线只会暴露原始结构。它无法告诉 AI 助手数据的含义、是否已认证、谁拥有它、适用哪些策略、受哪份契约约束、变更会破坏什么,或组织已从中获得哪些经验。
|
||
|
||
OpenMetadata 是开放的上下文层,为每位数据用户和 AI 智能体提供企业数据的全景视图。
|
||
|
||
OpenMetadata 汇聚五大能力:
|
||
|
||
1. **上下文(Context)** — 来自整个数据生态系统的技术、运营、信任、使用与血缘元数据。
|
||
2. **语义(Semantics)** — 通过术语表、指标、分类、数据域、策略、本体(ontologies)和数据产品表达业务含义。
|
||
3. **知识图谱(Knowledge Graph)** — 连接资产、列、人员、团队、质量、血缘、策略、记忆、契约与业务概念的关系。
|
||
4. **记忆(Memory)** — 对话、AI 线程、决策、假设、运行手册、修复说明以及可复用的记忆片段,用于保存隐性知识(tribal knowledge)。
|
||
5. **激活(Activation)** — MCP、语义搜索、API、SDK、事件与工作流,使上下文可被 AI 助手、智能体、应用和人类使用。
|
||
|
||
借助 OpenMetadata,用户和 AI 智能体可以回答:
|
||
|
||
- 该指标的含义是什么,如何计算?
|
||
- 哪些数据集为该仪表盘提供数据?
|
||
- 谁拥有该数据产品?
|
||
- 适用哪份数据契约?
|
||
- 该数据集是否新鲜、经过测试、已认证且可信?
|
||
- 该列变更会影响哪些下游仪表盘、流水线或 ML 模型?
|
||
- 哪些列包含敏感客户信息?
|
||
- 适用哪些术语表条目、策略、标准与业务概念?
|
||
- 关于该资产已记录哪些决策、假设、事件或对话?
|
||
|
||
---
|
||
|
||
## OpenMetadata 连接的上下文
|
||
|
||
OpenMetadata 收集并连接 AI 安全推理企业数据所需的上下文。
|
||
|
||
| 上下文类型 | OpenMetadata 捕获的内容 | 对 AI 的意义 |
|
||
| --- | --- | --- |
|
||
| **技术元数据** | 数据库、模式、表、列、主题、仪表盘、图表、流水线、API、搜索索引、ML 模型、存储资产、数据类型、约束、描述、连接、示例查询、服务元数据、所有者、团队、使用情况、数据域和数据产品 | 帮助 AI 发现存在哪些资产并理解其结构 |
|
||
| **质量与信任** | 测试用例、测试套件、新鲜度检查、数据量检查、空值、唯一性、分布、自定义测试、剖析结果、可观测性信号、事件、告警与质量历史 | 帮助 AI 避免将每个数据集都视为同等可信 |
|
||
| **血缘与影响** | 上游与下游血缘、表级血缘、列级血缘、仪表盘血缘、流水线血缘、指标血缘、ML 模型血缘、API 与主题依赖,以及 OpenLineage 事件 | 帮助 AI 说明数据来源、流向以及哪些变更可能引发破坏 |
|
||
| **语义** | 术语表、业务术语、同义词、相关术语、指标、KPI、分类、标签、数据域、数据产品、策略、角色画像(personas)、生命周期状态与本体 | 帮助 AI 将技术名称映射到业务含义 |
|
||
| **治理** | 所有者、数据管家(stewards)、团队、策略、角色、分类、访问上下文、认证、评审工作流、生命周期状态与数据契约 | 帮助 AI 在具备策略感知的上下文中行动 |
|
||
| **记忆与隐性知识** | 对话、AI 线程、决策、假设、运行手册、修复说明、事件经验以及附加于资产、用户、团队、数据产品和智能体工作流的可复用记忆片段 | 帮助人类与智能体继承组织已有经验,而非在每次对话中重新发现 |
|
||
| **标准与互操作性** | DCAT、DPROD、PROV-O、OpenLineage、ODCS、RDF/OWL、JSON-LD、SHACL、JSON Schema、API、事件与元数据模式 | 帮助上下文在工具、智能体、目录、契约与知识图谱之间流转 |
|
||
|
||
---
|
||
|
||
## 架构:上下文 + 记忆图谱
|
||
|
||

|
||
|
||
OpenMetadata 围绕开放的、模式优先(schema-first)的元数据图谱构建。
|
||
|
||
1. **收集(Collect)** 通过 **130+ 连接器**、摄取 API、事件与 SDK,从数据仓库、数据湖、BI 工具、流水线、ML 平台、消息系统、存储系统、API、搜索系统、SaaS 应用、元数据系统、文档、对话与智能体工作流收集元数据。
|
||
2. **规范化(Normalize)** 使用开放模式与标准,使每项资产、关系、策略、契约、血缘事件与记忆都能一致表示。
|
||
3. **连接(Connect)** 将技术元数据、质量信号、血缘、所有权、使用情况、策略、对话、记忆、语义、数据域、契约与数据产品整合为一张图谱。
|
||
4. **保存记忆(Preserve Memory)** 将对话、AI 线程、决策、假设、运行手册与修复说明转化为可复用、受治理的记忆片段,并与数据资产及业务上下文关联。
|
||
5. **治理(Govern)** 通过开放标准、分类、策略、角色、数据质量、评审工作流、数据契约与数据管理(stewardship)对上下文进行治理。
|
||
6. **激活(Activate)** 通过语义搜索、MCP、API、SDK、事件、Webhook、元数据应用与 AI 工作流使上下文可用。
|
||
|
||
记忆是架构的一部分,而非旁路通道。它使工程师可通过 API、SDK、MCP 或 AI 工作流保存对话上下文,并将隐性知识转化为可复用的组织知识。
|
||
|
||
---
|
||
|
||
## 上下文图谱、语义与记忆
|
||
|
||

|
||
|
||
OpenMetadata 图谱不仅存储数据资产,还存储资产、列、所有者、团队、策略、质量测试、血缘、分类、术语表条目、指标、数据域、数据契约、数据产品、对话与记忆片段之间的关系。
|
||
|
||
示例关系:
|
||
|
||
```text
|
||
Table ──hasColumn────────────> Column
|
||
Column ──classifiedAs─────────> PII
|
||
Column ──represents───────────> Customer Identifier
|
||
Table ──ownedBy─────────────> Data Engineering Team
|
||
Table ──partOf──────────────> Customer 360 Data Product
|
||
Dashboard ──dependsOn───────────> Table
|
||
Metric ──definedBy───────────> Glossary Term
|
||
Pipeline ──produces────────────> Table
|
||
Column ──flowsTo─────────────> Column
|
||
Test Case ──validates───────────> Table
|
||
Policy ──governs─────────────> Classification
|
||
Data Contract ──appliesTo───────────> Table
|
||
OpenLineage Event ──updatesLineageFor───> Pipeline
|
||
Agent Conversation ──capturedAs──────────> Memory
|
||
Memory ──informs─────────────> Data Product
|
||
Memory ──documentsDecisionFor> Metric
|
||
Memory ──attachedTo──────────> Table / Column / Topic / Dashboard / Pipeline / API
|
||
```
|
||
|
||
该图谱为 AI 系统提供跨数据资产域进行推理所需的关系、语义、记忆与治理能力。
|
||
|
||
---
|
||
|
||
## 记忆(Memories):面向人类与智能体的组织上下文
|
||
|
||

|
||
|
||
记忆会保留那些通常会在聊天、工单、会议、笔记本和 AI 智能体线程中消失的重要上下文。
|
||
|
||
记忆(memory)是一种开放、受治理的 OpenMetadata 实体,可与数据资产、用户、团队、线程、域、数据产品、指标、策略、事件和工作流关联。工程师可通过 API、SDK、MCP、聊天或 AI 应用来捕获和检索记忆。
|
||
|
||
使用记忆来保留:
|
||
|
||
- 某个指标为何发生变化
|
||
- 某列为何被重命名
|
||
- 某次分析使用了哪些假设
|
||
- 哪项修复措施解决了数据质量问题
|
||
- 某项决策适用于哪个仪表板或数据产品
|
||
- AI 智能体在调查事件过程中学到了什么
|
||
- 领域专家在对话中解释了什么
|
||
|
||
记忆通过让隐性知识可复用、受治理、可搜索,并可供每一位接触你数据的人类、助手和智能体使用,从而释放组织内的隐性知识(tribal knowledge)。
|
||
|
||
---
|
||
|
||
## MCP、语义搜索、API、AI SDK 与记忆
|
||
|
||
OpenMetadata 通过面向 AI 和开发者的友好接口,让上下文可付诸行动。
|
||
|
||
### MCP Server
|
||
|
||
OpenMetadata 内置 MCP 服务器,让兼容 MCP 的助手和智能体能够通过自然语言与元数据图谱交互。
|
||
|
||
AI 助手可使用 OpenMetadata MCP 来:
|
||
|
||
- 搜索元数据
|
||
- 运行语义搜索
|
||
- 检索实体详情
|
||
- 检查血缘(lineage)
|
||
- 理解数据契约与策略上下文
|
||
- 检索或保存记忆片段(memory nuggets)
|
||
- 更新描述、标签、所有者及其他元数据
|
||
- 创建术语表条目与血缘
|
||
- 列出并创建数据质量测试
|
||
- 分析数据质量失败的根本原因
|
||
|
||
入门指南:[OpenMetadata MCP Server Documentation](https://docs.open-metadata.org/latest/how-to-guides/mcp)
|
||
|
||
### Semantic Search
|
||
|
||
语义搜索(Semantic Search)让用户和 AI 助手不仅能按精确关键词,还能按语义含义查找数据资产。
|
||
|
||
```text
|
||
Find trusted customer purchase datasets with known data quality issues and recent remediation notes.
|
||
```
|
||
|
||
即使名称在不同域、工具和团队之间不一致,OpenMetadata 也能呈现概念上相关的资产、指标、术语表条目、数据产品、记忆片段和治理上下文。
|
||
|
||
### APIs, SDKs, Events, and Webhooks
|
||
|
||
OpenMetadata 提供 API、SDK、事件和 Webhook,供团队在生态系统中摄取、更新、搜索、订阅和自动化元数据。
|
||
|
||
开发者可使用 AI SDK 构建自定义 AI 应用,以编程方式利用 OpenMetadata 的上下文与记忆。
|
||
|
||
---
|
||
|
||
## 你可以构建什么
|
||
|
||
### AI Data Discovery
|
||
|
||
对元数据图谱提出自然语言问题,即使名称和关键词不完全匹配,也能找到相关资产。
|
||
|
||
### Trusted AI Assistants
|
||
|
||
将 AI 回答建立在受治理的元数据之上:所有者、描述、术语表条目、分类、质量、新鲜度、使用情况、血缘、策略、契约和记忆。
|
||
|
||
### Agent Memory and Tribal Knowledge
|
||
|
||
将对话、决策、假设、运行手册(runbook)和智能体所学内容捕获为受治理的记忆片段,供每位数据用户和 AI 智能体复用。
|
||
|
||
### Impact Analysis Agents
|
||
|
||
询问如果表、列、流水线、仪表板、指标、ML 特征、契约或数据产品发生变化,将会破坏什么。
|
||
|
||
### Governance Automation
|
||
|
||
使用智能体建议描述、分配术语表条目、识别敏感数据、提议所有权、强制执行契约上下文,并管理数据管理(stewardship)工作流。
|
||
|
||
### Data Quality Automation
|
||
|
||
使用 AI 工作流创建测试、汇总失败、识别根本原因、保留修复记忆,并推荐后续行动。
|
||
|
||
### Developer and Coding Agent Workflows
|
||
|
||
将编码智能体连接到 OpenMetadata,使其在生成 SQL、dbt 模型、文档、测试、迁移计划或影响分析之前,先理解模式、所有者、血缘、业务定义、质量预期、契约和记忆。
|
||
|
||
---
|
||
|
||
## 开放标准与互操作性
|
||
|
||
OpenMetadata 构建于开放的元数据标准之上。
|
||
|
||
[OpenMetadata Standards](https://openmetadatastandards.org/) 是 OpenMetadata 背后的模式、API、本体、事件模型和语义规范的开放源码之家。
|
||
|
||
它提供:
|
||
|
||
- 700+ 个用于元数据实体、API、配置、事件和关系的 JSON Schema
|
||
- 面向语义网、关联数据和知识图谱用例的 RDF/OWL 本体
|
||
- 用于验证的 SHACL 形状(shapes)
|
||
- 用于语义互操作的 JSON-LD 上下文
|
||
- 涵盖治理、血缘、质量、可观测性、团队、用户、角色、策略、事件、契约和数据产品的标准
|
||
|
||
OpenMetadata 支持并与对 AI 上下文和数据生态系统至关重要的标准保持一致:
|
||
|
||
| Standard | How OpenMetadata uses it |
|
||
| --- | --- |
|
||
| **DCAT / DPROD** | 在可互操作的语义模型中表示目录和数据产品上下文,包括数据集、数据服务、分发、域、所有者、输入与输出数据集、生命周期状态、用途和策略。 |
|
||
| **PROV-O** | 使用 W3C 溯源语义表示血缘、生成/派生数据、智能体、活动、所有权和可解释上下文。 |
|
||
| **OpenLineage Support** | 接收并连接兼容 OpenLineage 的血缘事件,使流水线执行元数据能够丰富更广泛的 OpenMetadata 图谱。 |
|
||
| **ODCS Support** | 支持 Open Data Contract Standard 3.1,实现可互操作的数据契约、契约导入/导出、模式预期、质量规则、SLA、支持渠道、角色以及生产者-消费者协议。 |
|
||
| **RDF/OWL, JSON-LD, SHACL** | 使元数据对图谱友好、语义可互操作,并可在关联数据、知识图谱和 AI 用例中进行验证。 |
|
||
| **JSON Schema, APIs, Events** | 使元数据可移植、便于自动化,并可在工具、智能体和自定义应用之间扩展。 |
|
||
|
||
这些标准使 OpenMetadata 成为可互操作语义元数据、关联数据、数据产品、数据契约、血缘、溯源和企业知识图谱的基础。
|
||
|
||
---
|
||
|
||
## 核心平台能力
|
||
|
||
| Capability | Includes |
|
||
| --- | --- |
|
||
| **AI Context and Memory** | 记忆片段、对话、智能体线程、决策、假设、修复备注、运行手册、上下文检索,以及受治理的智能体记忆 |
|
||
| **Discovery and Understanding** | 资产搜索、语义搜索、描述、样本数据、使用情况、所有权、对话、任务、公告 |
|
||
| **Governance and Semantics** | 术语表、分类、标签、指标、KPI、域、数据产品、策略、角色、认证、生命周期状态 |
|
||
| **Data Contracts and Standards** | ODCS 3.1 支持、契约导入/导出、模式预期、SLA、服务条款、语义关系、数据产品上下文、DCAT/DPROD、PROV-O、RDF/OWL、JSON-LD、SHACL |
|
||
| **Data Quality and Observability** | 测试、剖析、新鲜度、数据量、空值、唯一性、分布检查、告警、事件、根因工作流 |
|
||
| **Lineage and Impact Analysis** | 表级血缘、列级血缘、仪表板血缘、流水线血缘、指标血缘、ML 模型血缘、OpenLineage 支持、影响分析 |
|
||
| **Security and Access Control** | 身份验证、授权、角色、策略、SSO、机器人令牌、用户令牌、MCP 身份验证、受治理的元数据操作 |
|
||
| **Extensibility and Automation** | 130+ 连接器、API、SDK、Webhook、事件、应用、摄取框架、自定义连接器、自定义属性、MCP 工具、AI SDK 工作流 |
|
||
|
||
---
|
||
|
||
## 快速入门
|
||
|
||
1. **Try OpenMetadata**:[OpenMetadata Sandbox](https://sandbox.open-metadata.org)
|
||
2. **Install OpenMetadata**:[Quickstart Guide](https://docs.open-metadata.org/latest/quick-start)
|
||
3. **Ingest Metadata**:从数据仓库、BI 工具、流水线系统、数据质量工具、血缘来源、契约来源或产生记忆的工作流中摄取元数据。
|
||
4. **Build Context**:通过描述、所有者、团队、域、数据产品、质量测试、新鲜度、使用情况、血缘和数据契约来构建上下文。
|
||
5. **Add Semantics**:通过术语表、分类、标签、指标、KPI、策略、域、与 DCAT/DPROD 对齐的数据产品,以及 PROV-O 血缘上下文来添加语义。
|
||
6. **Capture Memory**:从对话、AI 线程、事件、修复备注、假设和决策中捕获记忆。
|
||
7. **Enable Semantic Search**:让用户和 AI 助手能够按语义含义进行搜索。
|
||
8. **Connect an MCP Client**:为 AI 助手和智能体提供对 OpenMetadata 上下文与记忆的受治理访问。
|
||
9. **Build AI Applications**:使用 OpenMetadata API、SDK、MCP 工具、事件和 AI SDK 工作流构建 AI 应用。
|
||
|
||
---
|
||
|
||
## 文档与社区
|
||
|
||
- 文档:[docs.open-metadata.org](https://docs.open-metadata.org/)
|
||
- MCP 服务器:[OpenMetadata MCP Documentation](https://docs.open-metadata.org/latest/how-to-guides/mcp)
|
||
- OpenLineage 连接器:[OpenMetadata OpenLineage Documentation](https://docs.open-metadata.org/latest/connectors/pipeline/openlineage)
|
||
- OpenMetadata 标准:[openmetadatastandards.org](https://openmetadatastandards.org/)
|
||
- 网站:[open-metadata.org](https://open-metadata.org/)
|
||
- Slack 社区:[slack.open-metadata.org](https://slack.open-metadata.org/)
|
||
- 博客:[blog.open-metadata.org](https://blog.open-metadata.org/)
|
||
|
||
---
|
||
|
||
## 开源与企业 AI
|
||
|
||
OpenMetadata 是面向 AI 上下文(AI context)、元数据(metadata)、组织记忆(organizational memory)、语义(semantics)、治理(governance)、质量(quality)、血缘(lineage)、数据契约(data contracts)、开放标准(open standards)、API、MCP 与 AI SDK 工作流的开源基础。
|
||
|
||
如需托管式企业能力、AI 智能体(AI agents)、自动化、AI Studio、企业级 MCP 工作流、商业支持与托管运维,请参阅 Collate:
|
||
|
||
- [Collate](https://www.getcollate.io/)
|
||
- [Collate AI](https://www.getcollate.io/collate-ai)
|
||
|
||
---
|
||
|
||
## 贡献
|
||
|
||
我们欢迎来自社区的贡献。你可以帮助改进元数据模式与标准、添加连接器、改进摄取(ingestion)工作流、增强 MCP 工具、改进语义搜索、添加记忆(memory)工作流、补充文档、修复缺陷并提升用户体验。
|
||
|
||
请参阅本仓库中的贡献指南以开始参与。
|
||
|
||
- [如何贡献](https://docs.open-metadata.org/v1.12.x/developers/contribute)
|
||
- [开发环境搭建](https://docs.open-metadata.org/v1.12.x/developers/contribute/development-environment-setup)
|
||
- [构建代码与运行测试](https://docs.open-metadata.org/v1.12.x/developers/contribute/build-code-and-run-tests)
|
||
|
||
---
|
||
|
||
## 许可证
|
||
|
||
OpenMetadata 根据 [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0). 发布。
|