**Medallion Architecture(奖章架构)**是现代 Lakehouse 数据平台里非常核心的一种分层设计模式。你最近一直在研究Lakehouse、Iceberg、AI-Ready Data、Semantic Layer、数据治理、AI 数据平台,所以这个架构其实是把这些东西串起来的一个非常重要的基础。
Databricks 对它的定义是:通过Bronze → Silver → Gold多层逐步提升数据质量、结构化程度和业务可用性;它本质上是一个数据设计模式,而不是某个具体产品。(Databricks 文档)
一、先用一句话理解 Medallion
可以把它理解成:
原始数据 → 可信数据 → 业务数据产品
即:
Data Sources │ ▼ ┌─────────────────┐ │ Bronze │ │ Raw Data │ │ 原始数据 │ └─────────────────┘ │ │ 清洗 / 去重 / 类型统一 / CDC ▼ ┌─────────────────┐ │ Silver │ │ Trusted Data │ │ 可信明细数据 │ └─────────────────┘ │ │ 建模 / 指标 / 聚合 / 语义 ▼ ┌─────────────────┐ │ Gold │ │ Business Data │ │ 业务数据产品 │ └─────────────────┘ │ ├── BI ├── Data API ├── AI / Agent ├── RAG ├── Feature Store └── Data Science最核心的不是三个名字,而是:
数据随着层级向上,逐渐变得可信、统一、业务化。
Databricks 官方也明确把 Bronze 定义为 raw ingestion、Silver 为 cleaning/validation、Gold 为 dimensional modeling/aggregation。(Databricks 文档)
二、为什么会出现 Medallion Architecture?
传统数据平台经常是:
ODS ↓ DWD ↓ DWS ↓ ADS你应该非常熟悉这个模式。
例如:
MySQL Oracle Kafka API 文件 ↓ ODS ↓ DWD ↓ DWS ↓ ADS ↓ BIMedallion 和这个思想其实非常接近。
可以粗略理解:
| 传统数仓 | Medallion |
|---|---|
| ODS | Bronze |
| DWD | Silver |
| DWS/ADS | Gold |
但是二者不能完全画等号。
因为:
ODS/DWD/DWS/ADS 更偏向数仓建模体系,而 Bronze/Silver/Gold 更偏向 Lakehouse 数据生命周期与质量分层。
Medallion 不规定你必须使用维度模型、星型模型,也不规定必须有 DWD/DWS。
Delta Lake 官方也强调,Medallion 是一个灵活的数据分层设计模式,而不是强制的数据建模规范。(Delta)
三、Bronze:原始数据层
1. Bronze 是什么?
Bronze 的核心关键词:
Raw / Fidelity / Replay
也就是:
尽可能保留数据进入平台时的原始状态。
例如数据源:
MySQL Kafka API CSV JSON IoT 日志 CDC进入:
Bronze例如 MySQL:
customer ---------------- id name phone create_time update_timeBronze:
bronze.customer原则上尽量保留:
id name phone create_time update_time _source _ingest_time _batch_id _partition_date _op _offset四、Bronze 最重要的原则:不要急着清洗
这是理解 Medallion 最关键的一点。
例如源系统传来:
id = 1001 name = "张三" age = "abc" phone = null很多传统 ETL 会:
发现 age 错误 ↓ 过滤掉但 Bronze 不应该这么干。
更合理的是:
Source ↓ Bronze ↓ 原样保存然后:
Bronze ↓ Silver ↓ 发现 age = abc ↓ 进入 quarantine / bad records为什么?
因为 Bronze 的一个核心价值就是:
Replayability(可重放)。
如果半年以后发现 Silver 的清洗逻辑写错了:
错误逻辑 ↓ Silver ↓ Gold你可以:
Bronze ↓ 重新处理 ↓ 新的 Silver ↓ 新的 Gold而不需要再向业务系统要一次历史数据。
Databricks 也明确强调,Bronze 保留原始数据,使下游层能够在需要时从原始层重建。(Databricks 文档)
五、Bronze 到底允许做什么?
这是实际架构设计中非常重要的问题。
Bronze 可以做:
① 数据格式转换
例如:
JSON ↓ Parquet / Iceberg / Delta② 增加技术元数据
例如:
_ingest_time _source _batch_id _file_name _partition_date _offset③ CDC 原始事件保存
例如:
INSERT UPDATE DELETE④ 基础 schema 解析
例如:
Kafka JSON ↓ 结构化字段但是一般不要在 Bronze 做:
业务规则 复杂 Join 指标计算 数据聚合 业务去重 业务语义转换六、Silver:可信数据层
Silver 是整个 Medallion 最重要的一层。
关键词:
Clean + Conformed + Trusted
也就是:
把原始数据变成可以被多个下游系统复用的可信数据。
例如:
Bronze Customer Bronze Order Bronze Product Bronze Payment │ ▼ Silver七、Silver 主要做什么?
① 数据清洗
例如:
age = "18"转换:
age INT② 去重
例如:
id=1001 id=1001 id=1001根据:
id update_time进行 CDC 去重。
③ 数据质量校验
例如:
id IS NOT NULL age BETWEEN 0 AND 150 amount >= 0④ 数据标准化
比如不同系统:
CRM: customer_id ERP: cust_id 订单系统: user_id统一:
customer_id⑤ 主数据统一
例如:
上海市 上海 Shanghai 上海市(01)统一:
上海⑥ 跨系统 Join
例如:
Customer + Order + Payment形成:
customer_order⑦ 数据实体统一
这是 Silver 非常重要的价值。
例如企业里面:
客户 用户 会员 Account Customer Buyer最终统一成为:
Customer这就是:
Conformed Data
八、Silver 的真正价值:建立企业可信数据底座
你可以把:
Bronze理解成:
事实
而:
Silver理解成:
企业认可的事实
例如:
Bronze:
订单金额 = 100 订单金额 = "100" 订单金额 = 100.0Silver:
order_amount DECIMAL(18,2)再比如:
Bronze:
user_id userid customer_id cust_idSilver:
customer_id所以 Silver 是整个企业数据平台真正的:
Trusted Data Layer
九、Gold:业务数据产品层
Gold 的关键词:
Business Ready / Purpose Built
也就是:
针对具体业务场景,把 Silver 数据加工成可以直接消费的数据产品。
例如:
Silver ↓ Gold产生:
销售日报 客户画像 经营分析 财务指标 库存分析 用户增长 AI Feature十、Gold 和 Silver 最大的区别
这是面试特别容易问的。
Silver
回答:
这个数据是什么?
例如:
customer_id order_id product_id order_amount order_time它强调:
统一、准确、可复用。
Gold
回答:
这个数据拿来干什么?
例如:
customer_daily_spend或者:
daily_revenue或者:
customer_lifetime_value它强调:
业务语义和消费场景。
Databricks 对 Gold 的描述也强调,它通常是面向业务需求的聚合、维度模型和业务语义数据集。(Databricks 文档)
十一、举一个完整的电商案例
假设:
用户 订单 商品 支付 物流数据来源:
MySQL Kafka APIBronze
bronze.user bronze.order bronze.product bronze.payment bronze.logistics特点:
Raw Append 可重放 保留来源Silver
处理:
去重 类型转换 数据质量 CDC 主键处理 实体统一 跨系统 Join形成:
silver.customer silver.order silver.order_item silver.product silver.paymentGold
针对业务:
gold.daily_sales gold.customer_value gold.product_performance gold.regional_sales gold.customer_portrait最终:
┌── BI │ Gold ────────────────┼── Dashboard │ ├── API │ ├── Agent │ └── AI十二、Medallion 和 Lakehouse 的关系
这一点非常重要。
Medallion不是 Lakehouse。
关系应该是:
Lakehouse │ ├── Storage │ └── Object Storage │ ├── Table Format │ ├── Iceberg │ ├── Delta │ └── Hudi │ ├── Compute │ ├── Spark │ ├── Flink │ └── Trino │ └── Data Organization └── Medallion所以:
Medallion 是 Lakehouse 上的一种数据组织和处理模式。
你完全可以:
Iceberg + Medallion也可以:
Delta Lake + Medallion也可以:
Hudi + Medallion甚至不使用 Lakehouse,也可以借鉴 Medallion 思想。
十三、Iceberg + Medallion 是什么关系?
对于你现在关注的 AI 数据平台,我更建议这样理解:
Object Storage │ ┌──────┴──────┐ │ │ Iceberg Parquet │ ┌───────┼────────┐ │ │ │ Bronze Silver GoldIceberg 解决:
表怎么可靠地存。
Medallion 解决:
数据怎么分层、怎么逐步变得可信。
Spark/Flink 解决:
数据怎么计算。
Trino/Doris/StarRocks 解决:
数据怎么查询。
Data Governance 解决:
谁能看、数据是否可信、血缘是什么。
Semantic Layer 解决:
业务到底怎么理解这些数据。
十四、Medallion 和你之前问的 Semantic Layer 是什么关系?
这个特别值得讲。
你之前的架构:
Data Sources ↓ Data Ingestion ↓ Data Lakehouse ↓ Data Processing ↓ Data Governance ↓ Semantic Layer ↓ AI-Ready Data ↓ Data API / Agent / RAG / BI如果加入 Medallion,我会建议改成:
Data Sources ↓ Data Ingestion ↓ ┌──────────────────────────┐ │ Lakehouse │ │ │ │ Bronze → Silver → Gold │ └──────────────────────────┘ ↓ Data Governance ↓ Semantic Layer ↓ AI-Ready Data ↓ Data Services ↓ Agent / RAG / BI / API但更准确一点,其实Governance 不应该只放在 Gold 后面。
应该是横向贯穿:
Data Governance │ ┌───────────────────────┼────────────────────────┐ │ │ │ Bronze Silver Gold │ │ │ └───────────────────────┴────────────────────────┘ │ Semantic Layer │ AI-Ready Data治理应该覆盖:
Bronze Silver Gold Semantic AI-Ready包括:
Catalog Metadata Lineage Quality Security Access Control Data Classification PII Audit十五、最容易犯的错误:把 Gold 当成 AI-Ready Data
这个和你之前问的问题直接相关。
很多人会说:
Bronze ↓ Silver ↓ Gold ↓ AI-Ready这个方向大体没问题。
但是:
Gold ≠ AI-Ready Data
例如:
gold.sales_daily非常适合:
BI Dashboard 经营分析但未必适合:
Agent RAG NL2SQL DataAgent AI Analytics因为 AI 需要的不只是“干净的数据”。
它还需要:
业务语义 指标定义 实体关系 单位 口径 时间语义 权限 数据质量 描述 血缘 可解释性因此:
Gold + Semantic Layer + Metadata + Quality + Business Context + Access Policy ↓ AI-Ready Data这个才是你现在应该重点理解的方向。
十六、Medallion 和传统 ODS/DWD/DWS/ADS 怎么对应?
可以这样理解:
传统数仓: ODS ↓ DWD ↓ DWS ↓ ADS对应:
Lakehouse: Bronze ↓ Silver ↓ Gold但是不要简单地认为:
Bronze = ODS Silver = DWD Gold = ADS因为实际情况会复杂很多。
例如 Silver 可以包含:
DWD 部分 DWS Data Vault Canonical Model Feature EngineeringGold 可以包含:
DWS ADS Data Mart Feature AI Dataset所以:
Medallion 是数据生命周期分层;DWD/DWS/ADS 是数仓建模分层。
这是两个不同维度。
十七、Medallion 的数据流并不一定只有三层
这一点很多面试官喜欢问。
标准:
Bronze ↓ Silver ↓ Gold但实际可以:
Raw ↓ Bronze ↓ Silver ↓ Gold也可以:
Bronze ↓ Silver ↓ Gold ↓ Serving甚至:
Bronze ↓ Silver ├── Gold BI ├── Gold AI ├── Gold ML └── Gold APIDatabricks 官方明确指出,三层只是常见模式,并不是所有系统都必须严格使用三层。(Delta)
十八、一个非常适合 AI 数据平台的 Medallion
如果让我给你设计一个2026 年 AI 数据平台版 Medallion,我不会只设计 Bronze/Silver/Gold。
我会设计成:
Data Sources │ ▼ ┌─────────────┐ │ Bronze │ │ Raw / Event │ └─────────────┘ │ Quality Gate 1 │ ▼ ┌─────────────┐ │ Silver │ │ Trusted Data│ └─────────────┘ │ Quality Gate 2 │ ▼ ┌─────────────┐ │ Gold │ │ Business Data│ └─────────────┘ │ ┌──────────┴──────────┐ ▼ ▼ Semantic Layer AI Data Layer │ │ ├── Metrics ├── Training Data ├── Dimensions ├── Feature ├── Business Terms ├── RAG Dataset └── Relationships └── Agent Dataset │ │ └──────────┬──────────┘ ▼ AI / Data Services │ ┌─────────────┼─────────────┐ ▼ ▼ ▼ BI Agent API这就从传统:
数据仓库
升级成:
AI 数据基础设施。
十九、AI-Ready Data 应该放在哪里?
这个问题非常关键。
我建议不要把 AI-Ready Data 简单理解成:
Gold 的下一层更准确的架构是:
Bronze ↓ Silver ↓ Gold ↓ ┌────────┴─────────┐ ↓ ↓ Semantic Layer AI Data Layer ↓ ↓ └────────┬─────────┘ ↓ AI-Ready Data ↓ Agent / RAG / AI / BI因为 AI-Ready Data 本质上是一个能力状态/数据产品状态,不一定是一个物理存储层。
这点非常重要。
二十、Medallion 最核心的三个 Data Contract
如果你以后面试AI 数据平台架构师 / 数据负责人 / P7/P8,不要只说:
Bronze 原始、Silver 清洗、Gold 聚合。
这个回答比较初级。
更高级的说法是:
Bronze Contract
Fidelity
保证:
原始性 完整性 可追溯 可重放Silver Contract
Trust
保证:
Schema Quality Consistency Conformance Deduplication Entity ResolutionGold Contract
Fitness for Purpose
保证:
Business Semantics Metrics Performance Consumer SLA这三个 Contract 才是 Medallion 真正的灵魂。
二十一、数据质量应该在哪里做?
不是:
Silver 才做质量而应该是:
Bronze ↓ 基础完整性 ↓ Silver ↓ 业务质量 ↓ Gold ↓ 业务指标质量例如:
Bronze
检查:
文件是否完整 Kafka offset 是否连续 schema 是否解析 数据是否丢失Silver
检查:
主键唯一 字段合法 外键有效 时间合理 金额合理Gold
检查:
GMV Revenue DAU MAU 订单数 转化率例如:
GMV = SUM(order_amount)到底是否包含:
退款? 取消订单? 优惠券? 税?这已经不是技术质量,而是:
业务语义质量。
二十二、Medallion 和数据治理
Medallion 特别适合做数据治理。
因为每一层都有明确的治理责任:
| Layer | 治理重点 |
|---|---|
| Bronze | 来源、完整性、血缘、留存 |
| Silver | 数据质量、标准、主数据、实体 |
| Gold | 指标、业务口径、数据产品 |
| Semantic | 业务语义、指标定义 |
| AI | AI 可理解性、权限、可信度 |
最终形成:
Data Governance │ ├── Metadata ├── Catalog ├── Lineage ├── Quality ├── Security ├── Privacy ├── Access Control └── Observability横向贯穿整个数据链路。
二十三、Medallion 最大的几个优点
1. 数据可重放
Bronze ↓ 重新计算 ↓ Silver ↓ Gold这是非常大的价值。
2. 解耦
例如:
20个数据源 ↓ Bronze ↓ Silver下游:
BI AI ML Agent不用重复清洗数据。
3. 数据质量逐级提升
Raw ↓ Clean ↓ Trusted ↓ Business4. 多团队协作
例如:
Data Engineering ↓ Bronze / Silver Data Analytics ↓ Gold Data Science ↓ Silver / Gold / Feature AI Team ↓ Gold / AI Data二十四、Medallion 最大的问题
它也不是银弹。
问题一:数据复制
Bronze Silver Gold可能产生:
3份数据所以成本会增加。
不过现代对象存储成本较低,而且 Silver/Gold 往往远小于 Bronze;更重要的是获得了可重算和可复用能力。(TechFabric)
问题二:层级泛滥
有些公司最后变成:
bronze1 bronze2 bronze3 silver1 silver2 silver3 gold1 gold2 gold3结果没人知道:
到底哪个才是真正的数据。
问题三:Gold 变成垃圾场
例如:
gold_tmp gold_test gold_final gold_final_v2 gold_final_v3 gold_new gold_new2这说明数据产品管理失控。
问题四:Silver 做成万能层
所有业务逻辑都塞到 Silver:
Silver ↓ 各种指标 ↓ 各种报表 ↓ 各种业务逻辑最终 Silver 变成“大杂烩”。
正确做法是:
Silver 负责可信、统一、可复用;Gold 负责场景化的数据产品。
二十五、Medallion 和你的 AI 数据平台定位
如果你现在准备往:
AI 数据平台架构师 / AI 数据平台负责人
这个方向走,我建议你把 Medallion 放到下面这个架构里:
┌──────────────────────┐ │ Data Sources │ │ DB / API / Kafka / IoT│ └──────────┬───────────┘ │ ▼ ┌──────────────────────┐ │ Data Ingestion │ │ Kafka / CDC / Flink │ └──────────┬───────────┘ │ ▼ ┌────────────────────────────────┐ │ Lakehouse │ │ │ │ Bronze → Silver → Gold │ │ │ │ Iceberg / Delta / Hudi │ └────────────────┬───────────────┘ │ ┌──────────────┴──────────────┐ │ │ ▼ ▼ Semantic Layer AI Data Layer │ │ Metrics / Ontology Training Business Terms Feature Relationships RAG │ Evaluation └──────────────┬──────────────┘ │ ▼ AI-Ready Data │ ┌────────────────┼────────────────┐ ▼ ▼ ▼ Agent RAG BI │ ▼ Data API这里就非常清楚了:
Medallion 是数据底座的数据加工骨架。
Semantic Layer 是业务理解层。
AI-Ready Data 是面向 AI 消费的数据产品/能力状态。
Agent / RAG / BI / API 是最终消费层。