每天认识一个组件:元数据平台OpenMetadata

一、引言

企业数据平台经历了从数据仓库、数据湖到湖仓一体、实时数仓、Data Mesh 和 AI 数据应用的演进,数据资产的数量、类型和依赖关系都在快速膨胀。

OpenMetadata 正是在这个背景下出现的开源元数据平台,它试图解决的核心问题是把分散在不同系统中的元数据统一建模、统一检索、统一治理。它把数据库、数仓、数据湖、BI、调度系统、消息系统、机器学习平台等数据生态中的元数据接入到统一平台,并围绕数据发现、数据血缘、数据质量、业务术语、标签分类、所有权、数据产品和 API 构建统一的元数据知识图谱。

二、OpenMetadata 是什么

OpenMetadata 是一个开源元数据平台,用于构建可信数据上下文和业务语义的开放平台,服务对象包括人、AI 助手和智能体。它的核心不是单点功能,而是围绕"元数据图谱"组织数据生态中的上下文。

层次 含义
数据目录 统一展示表、字段、仪表盘、管道、模型、Topic 等资产
元数据接入平台 通过连接器采集多种数据系统的元数据
数据治理平台 管理 Owner、标签、分类、术语表、策略、质量和认证状态
语义上下文层 为用户、应用和 AI 提供经过治理的数据上下文

OpenMetadata 支持 120+ connectors,并支持 open metadata standards、semantic search、APIs、SDKs 和 MCP server。这意味着它不仅面向 Web UI 用户,也面向平台集成、自动化治理和 AI 助手场景。

OpenMetadata 的架构可以从"采集、存储、服务、消费"四个环节理解。OpenMetadata 运行时需要应用服务、数据库、搜索引擎和用于采集任务调度的编排服务;生产部署中建议使用外部数据库和搜索引擎,而不是依赖快速启动包中的内置组件。

从数据流看,OpenMetadata 既支持通过连接器周期性拉取元数据,也支持通过 API 推送元数据。其中连接器需要被调度以周期性获取元数据,也可以使用 OpenMetadata APIs 推送元数据。

三、OpenMetadata核心组件

  • Metadata Service:OpenMetadata 的后端服务层,负责统一元数据实体、关系、API、权限、事件和业务逻辑。所有 UI 操作、连接器写入、SDK 调用和外部系统集成都需要经过这一层。它的元数据模型不是只围绕表,而是覆盖了现代数据平台中的多类资产。
  • Ingestion Framework:OpenMetadata 的元数据采集框架,可以灵活运行在任意编排器上,同时平台也提供了从 UI 部署和管理连接器管道的能力,该能力依赖官方提供的 Airflow 容器;也可以选择 Prefect、Dagster、GitHub workflows 等其他编排器 。
yaml 复制代码
源系统
  |
  |  connector
  v
采集任务
  |
  |  metadata ingestion workflow
  v
OpenMetadata API
  |
  v
元数据实体 + 关系 + 搜索索引
  • Metadata Store 与 Search:OpenMetadata 的价值不在于把元数据简单堆到一张表里,而在于保存实体之间的关系;搜索层负责让用户快速发现资产,OpenMetadata 支持 semantic search,使用户和 AI 助手可以按含义搜索,而不只是精确匹配资产名称 。
  • UI 与应用生态:OpenMetadata 提供 Web UI,用于数据发现、资产详情查看、血缘分析、质量查看、术语管理、标签治理、协作和配置采集任务。其中MCP 是 OpenMetadata 应用,默认安装,MCP 的出现让 OpenMetadata 从"给人看的数据目录"扩展到"给 AI 用的上下文服务"。
  • 元数据图谱:OpenMetadata 的重要设计思想是把元数据建成图,而不是孤立资产列表。一个表不再只是库名、表名和字段集合,它还会连接 Owner、标签、术语、质量测试、血缘上下游、使用情况和下游报表。

四、功能特性

  • 数据发现:数据发现是 OpenMetadata 最容易被感知的能力。用户可以在平台中搜索表、字段、仪表盘、管道、模型、Topic、API、存储对象等资产,并查看描述、Owner、标签、业务术语、血缘和质量状态。OpenMetadata 可以覆盖常见离线、湖仓、云数仓和部分实时生态。
  • 数据血缘:数据血缘用于理解数据从源头到消费端的流转路径。OpenMetadata 支持 column-level lineage、table-level lineage 和 pipeline lineage,并支持 upstream analysis 与 downstream analysis,用于发现输入来源、数据质量问题、数据新鲜度依赖、变更影响和维护窗口规划。
  • 数据质量:OpenMetadata 的数据质量能力主要围绕测试、剖析、Freshness、Volume、Null、Uniqueness、Distribution、告警、事件和问题定位展开。这类能力可以把"质量规则"从脚本、SQL 文件或调度任务注释中抽离出来,变成和表、字段、Owner、血缘直接关联的元数据。这样质量失败不再只是某个任务报警,而是可以被追溯到具体资产、上下游依赖和负责人。
  • 业务术语与分类:OpenMetadata 支持 Glossary、Glossary Terms、Classifications 和 Tags,用来表达业务语义与治理标签。这类能力能缓解数据平台中常见的"同名不同义、同义不同名"问题。例如cust_idcustomer_idbuyer_id可能在不同系统中指向不同业务实体,也可能只是命名差异。通过术语、同义词、标签和资产绑定,团队可以逐步沉淀共享语义。
lua 复制代码
字段名: cust_id
  |
  +--> 技术类型: bigint
  |
  +--> 业务术语: Customer Identifier
  |
  +--> 分类标签: PII
  |
  +--> 治理策略: 敏感字段访问受控
  |
  +--> Owner: 客户域数据团队
  • 权限与治理:OpenMetadata 提供元数据层面的权限、角色、策略、分类、认证和治理上下文,可以管理谁能查看、编辑和操作元数据,也可以把数据敏感性、Owner 和策略作为治理上下文传递给用户或 AI 系统。
  • AI 与 MCP:OpenMetadata MCP Server 允许 AI 助手查询元数据,例如"这个指标的定义是什么""哪些数据流入这个仪表盘""这个数据集 Owner 是谁、最后什么时候更新"等问题。

五、适用场景

OpenMetadata 并不是只有大型公司才需要,只要数据资产跨越多个系统,且团队开始频繁遇到"找不到、看不懂、不敢用、改不起"的问题,就可以考虑引入。

场景 OpenMetadata 的作用
多数据源统一目录 汇总 Hive、MySQL、ClickHouse、Databricks、BigQuery、BI 等资产
数仓血缘治理 查看表级、字段级、管道级血缘,辅助影响分析
指标口径治理 用 Glossary、Metric、Owner 管理业务定义
敏感数据识别 通过标签、分类、策略管理 PII、敏感、合规字段
数据质量运营 将测试、剖析、Freshness 和异常与具体资产绑定
Data Mesh 用 Domain、Data Product 和 Owner 表达业务边界
AI 数据助手 通过 MCP、语义搜索和 API 给 AI 提供企业数据上下文

更具体地说,如果你的团队正在做数据治理、数仓资产盘点、指标平台、数据质量平台、AI Copilot for Data、Data Mesh 或数据产品化,OpenMetadata 都值得纳入调研范围。

当然,OpenMetadata 不是万能药。如果只有少量数据库表、没有跨系统数据流、没有治理诉求,引入它可能会增加维护成本。它也不是实时计算引擎、数据开发平台或权限执行引擎,不应期待它替代 Flink、Airflow、dbt、DataHub、Ranger、Lake Formation 或 BI 平台的核心职责。

OpenMetadata 负责"描述和连接数据生态",而不是"处理和计算数据"。它可以告诉你某张表怎么来、被谁用、质量如何、含义是什么,但不会替你完成底层数据计算任务。

六、部署使用

OpenMetadata 支持 Docker 和 Kubernetes 部署。Docker 部署适合简化设置、扩展和本地测试,Docker 部署的大致流程如下:

yaml 复制代码
1. 准备 Docker 与 Docker Compose
        |
        v
2. 下载 docker-compose-openmetadata.yml
        |
        v
3. 配置外部 MySQL / Elasticsearch 或 OpenSearch
        |
        v
4. 配置 Ingestion Service / Airflow 连接信息
        |
        v
5. docker compose --env-file ./env-mysql up --detach
        |
        v
6. 访问 http://localhost:8585

生产环境更推荐 Kubernetes。OpenMetadata 支持通过 Helm Charts 在 Kubernetes 上安装和运行,并在生产架构中连接外部 Database、ElasticSearch 和 Airflow 等编排工具;OpenMetadata Helm Charts 会通过 Kubernetes Service 暴露85858586(常用于健康检查和指标端点)端口,Network Policies 和 Ingress 默认关闭,可通过 Helm Values 启用。

lua 复制代码
开发 / PoC
==========

Docker Compose
  |
  +-- OpenMetadata Server
  +-- MySQL / PostgreSQL
  +-- Elasticsearch / OpenSearch
  +-- Airflow / Ingestion

生产环境
========

Kubernetes + Helm
  |
  +-- OpenMetadata Server Pod
  +-- 外部数据库
  +-- 外部 Elasticsearch / OpenSearch
  +-- Airflow 或 K8s Native Orchestrator
  +-- Ingress / Network Policy / Secret / Monitoring

初次试用 OpenMetadata 不建议一上来就接入所有系统,更稳妥的路径是从一条核心数据链路开始,例如"交易数仓核心表 -> 汇总表 -> BI 看板"。

yaml 复制代码
第 1 步:接入一个核心数据源
        |
        v
第 2 步:补充表和字段描述
        |
        v
第 3 步:配置 Owner 和团队
        |
        v
第 4 步:接入 dbt / Airflow / BI 工具生成血缘
        |
        v
第 5 步:添加质量测试和 Freshness 检查
        |
        v
第 6 步:建立术语表、标签和敏感分类
        |
        v
第 7 步:评估 API、Webhook、MCP 与内部平台集成
相关推荐
接口不宕机1 小时前
1688 商品列表 API 对接商家 ERP,实现店铺商品同步与上下架自动监控
大数据
河南花仙子科技3 小时前
企业定制小游戏助力品牌软性传播
大数据·科技·游戏·小程序
云上先途3 小时前
标签化服务适合哪些人?常见适用场景一次讲清
大数据·人工智能·算法·音视频
yt004yt4 小时前
### 越华环保集团|绿岛 VOCs 集中治理,管网系统安全设计工程实战分享
大数据·运维
GreatVicent4 小时前
腾讯AI产业大会解读:Agent进场,企业基础设施怎么搭
大数据·数据库·人工智能·llm·agent·企业信息化
m0_466525294 小时前
从火柴人看护画面看云从科技生态企业的隐私保护实践
大数据·人工智能·科技·microsoft
yt004yt4 小时前
越华环保集团|绿岛 VOCs 集中治理,管网系统安全设计工程实战分享
大数据·运维
sxwuyanzu4 小时前
DeepSeek冲IPO-谁在为它付钱-公众号发布稿
大数据·人工智能·科技
邱海龙5 小时前
丘孔人工智能最前沿2026年9月12日:DeepSeek V4.1 Flash 正式发布,百万上下文接棒 V4 Pro
大数据