news 2026/9/11 20:04:30

Lakehouse之Medallion Architecture

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Lakehouse之Medallion Architecture

**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 ↓ BI

Medallion 和这个思想其实非常接近。

可以粗略理解:

传统数仓Medallion
ODSBronze
DWDSilver
DWS/ADSGold

但是二者不能完全画等号

因为:

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_time

Bronze:

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.0

Silver:

order_amount DECIMAL(18,2)

再比如:

Bronze:

user_id userid customer_id cust_id

Silver:

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 API

Bronze

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.payment

Gold

针对业务:

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 Gold

Iceberg 解决:

表怎么可靠地存。

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 Engineering

Gold 可以包含:

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 API

Databricks 官方明确指出,三层只是常见模式,并不是所有系统都必须严格使用三层。(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 Resolution

Gold 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业务语义、指标定义
AIAI 可理解性、权限、可信度

最终形成:

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 ↓ Business

4. 多团队协作

例如:

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 是最终消费层。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/11 20:03:22

电商AI图像生成系统:风格复刻、局部替换与智能扩图三合一

1. 这不是“AI画画玩具”,而是一套能直接跑进电商工作流的图像生产引擎你有没有遇到过这样的场景:运营同事凌晨两点发来消息,“明天上午十点要上新,主图风格得和竞品A保持一致,但模特换成我们自己的,背景要…

作者头像 李华
网站建设 2026/9/11 19:57:46

从零搭建WorkBuddy Agent应用:Skill编写与踩坑实战指南

我先说个真实的场景。上周有个朋友找我,说他拿到了 WorkBuddy 开放平台的开发者资格,结果打开控制台发现文档一摞一摞的,什么 Skill、Agent、工作流编排、记忆模块,光概念就把他绕晕了。他跟大多数刚接触这个平台的人一样&#xf…

作者头像 李华
网站建设 2026/9/11 19:57:31

YOLOv8电子围栏实战:从目标检测到工厂危险区域人员入侵告警

简介:面向高校毕设与课程设计,基于YOLOv8的智能工厂危险区域电子围栏系统完整工程包,提供实时监控、人员闯入检测与自动告警能力,可快速搭建安全管理系统原型。压缩包共包含97个文件,合计24.21MB,以70个Pyt…

作者头像 李华
网站建设 2026/9/11 19:57:30

资产配置模型对比与Python实践:从均值方差到风险平价

简介:均值方差资产配置模型是马科维茨现代投资组合理论的核心工具,用于在给定风险水平下求解最优资产权重,它聚焦股票、债券等大类资产的投资比例问题,适合金融工程、量化投资与组合管理方向的学习者和从业者掌握从收益率序列到资…

作者头像 李华
网站建设 2026/9/11 19:57:09

商铺安全鉴定机构测评 沈阳底商开业装修检测推荐全攻略

一、商铺安全鉴定:商业经营开业的必备合规环节沈阳商业氛围活跃,临街底商、商圈商铺、社区商铺的业态更迭频繁,装修改造也较为常见。商铺大多位于建筑底层,装修时常常涉及墙体拆改、夹层搭建、格局调整,容易对建筑结构…

作者头像 李华