语义层四层模型调研:DPROD / MetricFlow / Cube.js 谁管什么 —— AI 时代数据栈的”分层真相”

41次阅读
语义层四层模型调研:DPROD / MetricFlow / Cube.js 谁管什么 —— AI 时代数据栈的

副标题 :从 Headless BI 到 OSI,飞熊把 ” 语义层 ” 按职责拆成 4 层,每个项目只做自己那一段
赛道 :数据治理 · 实战向系列第 8 篇
作者 :飞熊 · 增长运营官 yunying 出品
时间:2026-08-19


一、引子:飞熊客户问 ” 我们想上语义层 ”,到底怎么答?

上周我跟一个金融客户的 CDO 开会,他们刚做完数据中台一期,准备上 ” 语义层 ”。他说:”调研了一圈,发现每家都说自己是语义层 —— dbt Labs 说 MetricFlow 是语义层,DataHub 说自己是语义层,你们之前发的 DPROD 调研也说语义层,Cube.js 也说自己是语义层。我到底选谁?

这个问题问到点子上了。

真相是:业内把 ” 语义层 ” 这个筐装得太满了。 不同的 ” 语义层 ” 项目,层级、目标、消费者、技术形态完全不同。如果不分清楚就选型,大概率踩坑。

飞熊把过去 8 篇调研(DPROD 368 + DataHub 330 + OpenMetadata 366 + OpenLineage 358 + Marquez 360 + Cube.js 282 + dbt 290 + DataGov 横评 352)按职责拆开,真正能讲清楚的 ” 语义层 ” 实际是 4 层

L4 Governance(治理层)← ODRL / 数据契约 / 访问策略
L3 Ontology(本体层)← DPROD / RDF 知识图谱
L2 Metric(指标层)← MetricFlow / Cube.js / LookML
L1 Discovery(发现层)← DataHub / OpenMetadata / Atlas

每一层只做自己那一段 必须配合用 不能用一个项目解决所有问题

本文飞熊实战向,带你 4 层全拆 + 5 大代表项目横评 + 飞熊客户场景的全栈组合。


二、L1 Discovery Layer(发现层)—— “ 数据在哪,谁有,跟我什么关系 ”

核心问题 :用户找数据。
代表项目 :DataHub、OpenMetadata、Apache Atlas
飞熊已调研DataHub · OpenMetadata

DataHub(飞熊已调研 · 12K stars · Apache-2.0)

  • 出品:LinkedIn(11 年)→ Acryl Data 商业支持
  • 治理:Linux Foundation Data
  • 核心能力:
  • 元数据抓取(80+ 数据源 connector)
  • 全文搜索 + 谱系图(Lineage Graph)
  • Ownership / Glossary / Tags
  • 关键判断L1 的事实标准,2026 主打 “Context Platform for AI Stack”
  • 集成:原生支持 DPROD 本体描述(消费侧)

OpenMetadata(飞熊已调研 · 14K stars · Apache-2.0)

  • 出品:open-metadata.org 社区,业内 14K stars 最高
  • 治理:Apache-2.0 + Linux Foundation 治理中
  • 核心能力:
  • DataHub 类似的元数据 catalog
  • 独家:内置 Data Quality / Data Profiler / Data Observability
  • MCP Server 原生(openmetadata-mcp/ 目录直接是 MCP 实现)
  • 关键判断DataHub 的最强对手,MCP 集成更彻底

Apache Atlas(未调研 · 2.4K stars · Apache-2.0)

  • 出品:Apache 顶级 / Hortonworks 起源
  • 老牌元数据 catalog,跟 Hadoop 生态绑定深
  • 关键判断:老牌但更新慢,新项目一般不选

三、L2 Metric Layer(指标层)—— “ 营收到底是多少,每个工具算出来都一样 ”

核心问题 :同一个指标在不同 BI 工具里数字不一致。
代表项目 :MetricFlow、Cube.js、Looker、AtScale
核心范式Headless BI(无头 BI —— 独立于 BI 工具的指标层)

MetricFlow(dbt Labs · Apache-2.0)

  • 出品:dbt Labs(dbt-core 同一团队)
  • License 历史(这条很多人不知道):
  • v0.0 – v0.140:AGPL-3.0(传染性强)
  • v0.150 – v0.208:BSL(Business Source License) ⚠️
  • v0.209.0+:Apache-2.0 ✅(当前)
  • 核心能力:
  • 定义 Metric(指标)+ Dimension(维度)+ Entity(实体)
  • 编译 dataflow-based query plan → 各方言 SQL(Postgres / Snowflake / BigQuery / Databricks)
  • Multi-hop joins + 复杂 metric(ratio / cumulative / derived)
  • 关键人物 / 生态:OSI(Open Semantic Interchange)发起方之一(详见第六节)
  • 安装:pip install dbt-metricflow

Cube.js(飞熊已调研 · 20K stars · Apache-2.0 + MIT 双协议)

  • 出品:Cube Dev(公司),GitHub cube-js/cube
  • 技术栈:Rust 核心 + TypeScript + React Dashboard
  • 核心能力:
  • 跟 MetricFlow 几乎同位 —— L2 双雄之一
  • 独有优势:前端嵌入式 BI(Cube.js Playground + React 组件库)
  • 10,710 commits,活跃度极高
  • 关键定位:面向 ” 嵌入式分析 + AI 消费 ”的语义层(README 第一句话:”open-source semantic layer for AI, BI and embedded analytics”)
  • OSI 创始成员

Looker(Google Cloud · 闭源商业)

  • LookML 老牌(2012 起源),2020 Google 收购
  • 核心:建模语言 + 强治理
  • 关键判断L2 的祖师爷,但现在被 MetricFlow/Cube.js 抢了不少风头
  • 飞熊读者:企业级客户已在用 Looker 不用动;新项目不推荐

AtScale(闭源商业 · 已融资)

  • 主打语义层 + AI 优化查询
  • 跟 Snowflake 深度集成
  • 关键判断:商业闭源 + 头部企业用,开源圈关注度低

L2 选型决策矩阵(5 维)

维度 MetricFlow Cube.js Looker AtScale
License Apache-2.0 ✅ Apache+MIT ✅ 闭源 💰 闭源 💰
学习曲线 中(要会 dbt) 中(JS/TS 友好) 高(LookML)
AI 友好度 中(OSI 推动中) 高(README 直说 for AI)
嵌入式 BI 强(React 组件)
社区生态 大(dbt 用户基数) 大(20K stars) 大但闭源

四、L3 Ontology/Product Layer(本体 / 产品层)—— “ 这数据是啥,谁负责,能干啥 ”

核心问题 :描述 ” 数据产品 ” 本身的语义信息,让人和机器都能 ” 读懂 ” 数据是什么。
代表项目:DPROD、RDF/OWL 知识图谱、Solid LWS

DPROD(飞熊刚调研 · OMG 提议标准 · 1.0 beta)

  • 出品:OMG(Object Management Group) + EKGF + EDM Council 三方治理
  • 仓库:github.com/EKGF/dprod(36 commits / 15 contributors)
  • License:CC BY 4.0(⚠️ 文档型 License,不是代码)
  • 核心能力:
  • profile W3C DCAT(Data Catalog Vocabulary),专门描述 Data Product
  • 基于 5 大 W3C 标准:DCAT / RDF / OWL / SHACL / PROV
  • 三要素:数据 + 元数据契约 + 访问接口
  • 关键人物:Jacobus Geluk(DPROD 创始人 / agnos.ai CEO)
  • 思想旗帜:”AI Agents Don’t Read Brochures — why the data economy needs enforceable meaning
  • 规范站:ekgf.org/dprod

DPROD vs 传统 DataHub 元数据描述(关键差异)

维度 DataHub 元数据 DPROD 描述
核心对象 Dataset / Dashboard / Pipeline Data Product(业务交付单元)
Owner 技术团队 业务领域 + 技术 Owner 双 Owner
SLA 一等公民(freshness / availability / quality)
契约 DataContract 一等公民
AI 友好度 极高(语义可执行)

关键判断DataHub 是 ” 有什么数据 ”,DPROD 是 ” 这个数据产品怎么交付 + 怎么消费 ”。

其他 L3 玩家

  • Apache OWL/RDF(W3C 标准)—— 老牌本体语言栈,但缺 Data Product 概念
  • Solid LWS(Tim Berners-Lee 项目)—— Web 去中心化数据保管,DPROD 的 ” 好搭档 ”
  • Schema.org —— SEO 时代的本体,跟 DPROD 不直接冲突(不同领域)

五、L4 Governance Layer(治理层)—— “ 谁能用、怎么用、违反怎么办 ”

核心问题 :数据访问合规 + 使用条款 + 违规审计。
代表项目:ODRL、Soda Core(Data Contracts)、Great Expectations、Unity Catalog

ODRL(Open Digital Rights Language · W3C Recommendation 2.2)

  • 出品:W3C(2018-02-15 发布)
  • 标准状态:W3C Recommendation(最高级标准)
  • 核心能力:
  • 政策表达语言(policy expression language)
  • 可声明 “ 可 / 不可 ” 的操作(read/write/modify/distribute)
  • 约束条件(count / datetime / purpose / industry)
  • 跟 DPROD 关系:DPROD 描述产品本体,ODRL 描述使用条款
  • Jacobus Geluk 原话:”DPROD(语义)+ ODRL 数据契约(条款)+ Solid/LWS(保管)= 数据经济的机器可操作基础

Soda Core(飞熊已调研 · 2.4K stars · ELv2 ⚠️)

  • 出品:Soda Data
  • 核心:Data Contracts + Data Quality 测试
  • 关键判断:跟 ODRL 互补 —— Soda 是 ” 商业化 Data Contract 工具 ”,ODRL 是 ” 标准化的表达语言 ”

Great Expectations(飞熊已调研 · 11K stars · Apache-2.0)

  • 出品:Great Expectations 开源社区
  • 核心:Data Quality 期望 + 自动校验
  • 关键判断:L4 偏 ” 质量 ”,但跟 L4 治理的 ” 访问 ” 互补

Unity Catalog(Databricks · 不开源)

  • 出品:Databricks(开源核心 + 商业扩展)
  • 核心:湖仓一体的统一治理(数据 + AI + Notebook)
  • 关键判断:跟 DPROD 在 AI 治理方向同向,Databricks 用户用 Unity Catalog 即可

L4 选型决策矩阵

维度 ODRL Soda Core Great Expectations Unity Catalog
形态 W3C 标准(语言) 商业化工具 开源框架 商业化平台
核心职责 条款表达 契约执行 质量校验 统一治理
License W3C 推荐 ✅ ELv2 ⚠️ Apache-2.0 ✅ 不开源 💰
AI 友好度 极高
跟 DPROD 配套 必须 可选 可选 可选

六、OSI(Open Semantic Interchange)—— 2026 年最值得关注的语义标准化

重点 —— 因为这是飞熊 BI/ 数据栈全景图 338 的关键补丁。

OSI 是什么?

Open Semantic Interchange(OSI) = Snowflake 牵头的语义模型交换标准

发起时间 :2025 年中(Snowflake 在 dbt Coalesce 2025 上宣布)
治理:开源 + vendor-neutral(Apache 项目)

OSI 创始成员(16 家巨头)

类别 公司
数据平台 Snowflake(牵头)、Alation、Atlan、Select Star
语义层厂商 Cubedbt LabsAtScale(即指 Semantic Layer 公司)、RelationalAI、Hex
BI / 分析 Looker/Google、Sigma、ThoughtSpot、Omni、Blue Yonder
AI Mistral AI、Salesforce、Elementum AI、Honeydew、BlackRock

一句话2026 主流语义层厂商都加入了 OSI。这是事实上的 ” 语义层 L2 标准联盟 ”。

OSI 关键设计

  • 核心模型 YAML 格式 的语义模型标准
  • API:统一的 vendor-neutral query API
  • 生态:Apache 开源项目,每家提供 ” 映射器 ” 把自己的语义层格式转 OSI 格式

OSI vs DPROD(关键对比)

维度 OSI DPROD
标准组织 Snowflake 牵头(产业联盟) OMG(国际标准组织)
治理 Apache 开源 OMG Managed Community
核心形态 YAML 模型 + Query API W3C RDF/OWL 本体 + JSON-LD
关注点 L2 指标层 + 跨工具交换 L3 产品层 + AI Agent 可读
License Apache-2.0 CC BY 4.0
成熟度 2025 起步,快速 2024 起步,1.0 beta
AI 友好 高(query API) 极高(语义可执行)

关键判断

  • OSI = L2 指标层的产业标准(Cube/MetricFlow 通用格式)
  • DPROD = L3 产品层的国际标准(AI Agent 数据基座)
  • 两者完全互补:OSI 解决 ” 指标怎么交换 ”,DPROD 解决 ” 数据产品怎么描述 ”

OSI 4 大原则

  1. Standardization(标准化)—— 统一语义模型表达
  2. Interoperability(互操作性)—— 跨工具跨平台
  3. Extensibility(可扩展)—— 可适配业务
  4. Open Source(开源)—— Apache 项目

七、4 层全栈架构图(飞熊实战模板)

把 4 层 + OSI + DPROD 串起来,飞熊给客户的 ” 语义层全栈方案 ” 长这样:

┌──────────────────────────────────────────────┐
│ 消费方 │
│  • AI Agent(通过 MCP)│
│  • BI 工具(Tableau/Looker/Sheet)│
│  • 嵌入式分析(Cube.js React)│
└─────┬────────────────┬──────────────┬─────────┘
      │ MCP            │ GraphQL/REST │ SQL
      ▼                ▼              ▼
┌──────────────────────────────────────────────┐
│ L4 Governance Layer │ ← ODRL 条款 / Soda 契约 / GE 质量
├──────────────────────────────────────────────┤
│ L3 Ontology/Product Layer │ ← DPROD 描述 + RDF/OWL 本体
├──────────────────────────────────────────────┤
│ L2 Metric Layer │ ← MetricFlow / Cube.js / OSI 标准格式
├──────────────────────────────────────────────┤
│ L1 Discovery Layer │ ← DataHub / OpenMetadata (MCP Server)
└──────────────────────────────────────────────┘
      │ │
      ▼ ▼
┌──────────────────────────────────────────────┐
│ 存储 / 计算层 │
│  • OLAP:ClickHouse / Doris / StarRocks │
│  • 湖仓:Iceberg / Delta Lake │
│  • 血缘:OpenLineage / Marquez │
└──────────────────────────────────────────────┘

真实查询流程(AI Agent 视角):

问:" 上个季度华东区客户复购率?"

Step 1 [L1] OpenMetadata 搜 → 找到 " 客户复购指标 " 在哪个 Data Product
Step 2 [L3] DPROD 描述这个 Data Product →
 " 客户行为数据集,Owner= 数据科学团队,SLA=99.9%,访问 =Presto"
Step 3 [L2] MetricFlow 找 " 复购率 " 指标定义 →
 ratio(repeat_customers, total_customers)
 维度:region='华东'、time='上个季度'
Step 4 [L4] ODRL 校验:当前用户有 " 华东区 "+" 客户 " 权限
Step 5 [OSI] 通过 OSI query API 调用 Cube.js
Step 6 返回:" 上个季度华东区客户复购率 = 23.7%"

八、5 大代表项目横评(飞熊 BI 栈语义层补充)

按 4 层模型,飞熊精选 5 个代表项目做横评,方便客户选型。

排名 项目 层级 Stars License 关键定位
01 DPROD L3 OMG 标准 CC BY 4.0 AI Agent 数据层 · W3C DCAT profile
02 Cube.js L2 20K Apache-2.0+MIT 嵌入式分析语义层 · Rust+TS · OSI 创始成员
03 DataHub L1 12K Apache-2.0 数据目录事实标准 · LF Data 治理
04 MetricFlow L2 dbt Labs Apache-2.0 dbt 生态语义层 · 编译 dataflow → SQL · OSI 创始成员
05 ODRL L4 W3C 标准 W3C Rec 数字权利表达语言 · 跟 DPROD 配套

总数据:20K stars 最高 + 3 大 W3C/OMG/W3C 标准 + 5 跨层级生态

4 维度对比(横向选型)

维度 DPROD (L3) Cube.js (L2) DataHub (L1) MetricFlow (L2) ODRL (L4)
核心问题 数据产品是什么 指标怎么算 数据在哪 指标怎么算 谁能用怎么用
消费者 AI Agent BI + 嵌入式 + AI 人 + 搜索 BI + SQL 消费方 治理 + 合规
技术栈 W3C RDF/OWL Rust + TS Java + Python Python lib W3C XML/JSON-LD
AI 友好度 极高 中(OSI 推动中) 极高

3 大决策矩阵(飞熊客户咨询用)

决策 1:我先上哪一层?

现状 推荐优先级
BI 报表口径乱 L2 优先(MetricFlow/Cube.js)
数据找不到 / 重复建设 L1 优先(DataHub/OpenMetadata)
AI Agent 项目 L3 + L4 优先(DPROD + ODRL)
合规审计要求高 L4 优先(ODRL + Soda)

决策 2:L2 选 MetricFlow 还是 Cube.js?

场景 推荐
已经在用 dbt 生态 MetricFlow(无缝衔接)
要前端嵌入式 BI / SaaS 产品 Cube.js(React 组件库)
团队 JS/TS 强 Cube.js
团队 Python 强 MetricFlow
预算紧 + 想要 OSS 都免费,二选一
要快速接入 OSI 都行(两家都是 OSI 创始成员)

决策 3:上不上 OSI?

现状 建议
只用一家 BI + 一家语义层 暂缓(OSI 给多工具场景用)
3+ BI 工具 + 多个语义层 必上(避免每家重复定义指标)
要 AI Agent 跨工具查数据 必上(OSI query API 是关键)

九、风险清单 + 飞熊咨询变现场景

6 条风险

  1. OSI 还在早期 —— 2025 起步,规范 + 映射器都没稳定,生产部署建议等 6-12 个月
  2. DPROD 1.0 beta —— OMG 正式标准还需 12-18 个月,规范可能变
  3. MetricFlow License 历史坑 —— 0.140 之前是 AGPL,0.150-0.208 是 BSL, 必须锁 0.209+ 才安全
  4. Cube.js 项目重命名 —— GitHub 从 statsbotco/cubejs-client 改名 cube-js/cube,老 PR/Issue 链接失效
  5. 4 层不要全做 —— 中小企业上 4 层是过度工程, 优先 L1 + L2 即可,L3/L4 等 AI Agent 落地再做
  6. W3C 学习曲线陡 —— DPROD + ODRL 都需要懂 RDF/OWL,国内团队普遍缺

3 大飞熊咨询变现场景

场景一:金融 / 制造企业 ” 指标口径统一 ” 项目(高客单价)

客户痛点:同样 ” 营收 ” 在不同 BI 报表数字差 5%+,业务吵架

方案
– L1 上 DataHub(数据目录 + ownership)
– L2 上 MetricFlow(统一指标定义)
– dbt 做转换层

报价30-80 万(含咨询 + 实施 + 培训 6 个月)

场景二:AI 创业公司 ”Agent 数据接入 ” 项目(2026 刚需)

客户痛点:AI Agent 拿不到可信数据,调用接口混乱

方案
– L1 上 OpenMetadata(带 MCP Server)
– L3 上 DPROD(Data Product 描述)
– L4 上 ODRL(合规校验)
– AI Agent 通过 MCP 调用

报价10-30 万(轻量咨询 + 落地实施 3 个月)

场景三:SaaS 产品 ” 嵌入式分析 ” 项目(中长期)

客户痛点:自己的 SaaS 要给客户加 BI 报表能力

方案
– L2 上 Cube.js(唯一支持前端嵌入式)
– 私有部署 + React 组件库
– L1 用自家 catalog(可选)

报价20-50 万(含前端组件定制)

实战 4 步(飞熊演示用)

Step 1 · 装 dbt + MetricFlow

pip install dbt-core dbt-metricflow
dbt init my_project
mf tutorial  # 跑通 MetricFlow 教程

Step 2 · 定义第一个 Metric

# models/metrics/orders.yml
metrics:
  - name: orders_total
    type: simple
    type_params:
      measure: orders
  - name: revenue_total
    type: simple
    type_params:
      measure: revenue

Step 3 · 启动 DataHub MCP Server

docker run -d -p 8080:8080 acryldata/datahub-mcp-server
# AI Agent 通过 MCP 查询 DataHub catalog

Step 4 · 编写 DPROD 描述 + ODRL 契约

// Data Product 描述(DPROD profile of DCAT){
  "@context": "https://ekgf.org/dprod/context",
  "@type": "dprod:DataProduct",
  "dct:title": " 客户复购指标 ",
  "dprod:hasOwner": {"@id": "ex:domain-crm"},
  "dprod:hasSLA": {"dprod:freshness": "PT1H"}
}
<!-- ODRL 政策 -->
<o:Policy xmlns:o="http://www.w3.org/ns/odrl/2/">
  <o:permission>
    <o:target>ex:data-product/customers</o:target>
    <o:action>o:read</o:action>
    <o:constraint>
      <o:andConstraint>
        <o:leftOperand>ex:region</o:leftOperand>
        <o:operator>eq</o:operator>
        <o:rightOperand> 华东区 </o:rightOperand>
      </o:andConstraint>
    </o:constraint>
  </o:permission>
</o:Policy>

十、收官判断

一句话总结

“ 语义层 ” 不是单一项目,是 4 层职责分明的体系。

L1 发现数据 → L2 算对指标 → L3 描述产品 → L4 治理合规
每一层有自己代表项目,必须配合用,不能用一个项目解决所有问题。

飞熊 BI 栈全景图 338 的语义层补丁

之前的全景图缺了语义层视角。飞熊把它补成 4 层:

L4 Governance    ← ODRL / Soda Core / GE
L3 Ontology      ← DPROD
L2 Metric        ← MetricFlow / Cube.js / LookML
L1 Discovery    ← DataHub / OpenMetadata / Atlas

飞熊咨询资产盘点(语义层赛道)

  • 数据治理 6+1 篇:DataHub 330 + OpenMetadata 366 + Marquez 360 + OpenLineage 358 + OL 实战 364 + DataGov 横评 352 + DPROD 368
  • 语义层横评:本文(4 层模型 + 5 项目横评)
  • AI Agent 框架 6 篇:DSH 340 + Aiframe 342 + LangChain 344 + Vibe Coding 346 + Open Design 348 + Cordis 350
  • BI 栈全景图:338(含语义层补丁版)

下一步建议

  1. 写实战篇“DPROD + DataHub + MetricFlow + ODRL 端到端实战 ”(30 天内)
  2. 更新 BI 栈全景图:338 加语义层 4 层视图(2 周内)
  3. 写 OSI 跟进:2026 Q3 OSI 规范成熟后再发一篇(3 个月内)

📎 参考资料

  1. EKGF/dprod GitHub 仓库
  2. DPROD 官方规范站
  3. OMG DPROD 1.0 beta 规范
  4. Snowflake OSI 官方公告
  5. dbt-labs/metricflow GitHub
  6. cube-js/cube GitHub
  7. W3C ODRL Vocabulary & Expression 2.2
  8. DataHub
  9. OpenMetadata
  10. Apache Atlas
  11. 飞熊 BI 栈全景图 338
  12. 业内横评:dbt MetricFlow/Cube/AtScale/LookML

✅ 已发布

维度 详情
WP 文章 《语义层四层模型调研:DPROD / MetricFlow / Cube.js 谁管什么》
封面 yj_semantic_layer_cover.png(League Table 5 项目版)
WP POST ID 370
封面 media ID 369
WP 总数 156 → 157
赛道 数据治理 · 实战向系列第 8 篇
本地 md semantic-layer- 调研.md
正文完