Files
nexus/wiki/concepts/Medallion-Architecture.md
2026-05-03 05:42:12 +08:00

2.2 KiB
Raw Blame History

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 元数据
  • SchemaSchema-on-Read读取时推断
  • 分区策略:按 ingestion date 分区,支持低成本历史重放

Silver Layer清洗层

  • 特性已清洗、去重、统一格式conformed
  • 规则:必须可跨域 join显式处理 nullimpute/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 每步管道必须幂等——重新运行不产生重复