title, type, tags, sources, last_updated
| title |
type |
tags |
sources |
last_updated |
| Medallion Architecture |
concept |
| data-engineering |
| lakehouse |
| architecture |
|
| engineering-data-engineer |
|
2026-05-02 |
Definition
Medallion Architecture 是一种数据湖仓(Lakehouse)分层架构,通过 Bronze(青铜)→ Silver(白银)→ Gold(黄金)三层设计,实现数据从原始到业务就绪的渐进式提升。
Three Layers
Bronze Layer(原始层)
- 特性:原始、不可变、追加写入(append-only)
- 规则:永远不在原地转换数据;保留完整的 source file、ingestion timestamp、source system 元数据
- Schema:Schema-on-Read(读取时推断)
- 分区策略:按 ingestion date 分区,支持低成本历史重放
Silver Layer(清洗层)
- 特性:已清洗、去重、统一格式(conformed)
- 规则:必须可跨域 join;显式处理 null(impute/flag/reject);标准化数据类型、日期格式、货币码、国家码
- 实现:SCD Type 2 追踪历史变更;主键 + 事件时间戳去重
- 质量:每字段 null 处理规则必须明确记录
Gold Layer(业务层)
- 特性:业务就绪、SLA 保证、为查询模式优化
- 规则:Gold 层消费者禁止直接读取 Bronze 或 Silver;必须附带行级数据质量评分;使用 replaceWhere 原子覆盖
- 优化:Z-Ordering 多维聚类、分区裁剪、预聚合
- SLA:明确刷新频率(如"每 15 分钟刷新一次")
Core Principles
- 不可变性:Bronze 层不可覆盖,每条记录携带
_ingested_at 和 _source_system
- 渐进式质量:数据质量在 Bronze→Silver→Gold 每层逐步提升
- 消费者保护:上游 schema 变化通过
mergeSchema=true 捕获,但不自动污染下游
- 幂等性:Silver→Gold 每步管道必须幂等——重新运行不产生重复
Related Concepts
Related Entities