Medallion Architecture: Bronze, Silver, and Gold Layers in Practice
Scenario context
Medallion Architecture solves the "data swamp" problem by organizing a data lake into three progressively refined zones β Bronze (raw, immutable), Silver (cleaned, conformed), Gold (aggregated, business-ready) β so teams always build on a trusted foundation, bad data never propagates silently, and any corruption can be replayed from scratch.
π― System Scenario & Requirements
System Goal
Medallion Architecture solves the "data swamp" problem by organizing a data lake into three progressively refined zones β Bronze (raw, immutable), Silver (cleaned, conformed), Gold (aggregated, business-ready) β so teams always build on a trusted foundation, bad data never propagates silently, and any corruption can be replayed from scratch.
Actors & Components
- Application or API tier
- Core service under design
- Operator or SRE observer
Functional Requirements
- Medallion Architecture solves the "data swamp" problem by organizing a data lake into three progressively refined zones β Bronze (raw, immutable), Silver (cleaned, conformed), Gold (aggregated, business-ready) β so teamβ¦
- TLDR Three zones, one source of truth at every quality level: Bronze⦠This walkthrough focuses on Real-World Applications: Medallion at a High-Traffic E-Commerce Platform .
- Before making a design choice, clarify: - An e-commerce marketplace processes 5 million orders per day, sourced from a mobile app, a web frontend, and a third-party reseller API.
Constraints & Assumptions
- The source does not isolate a separate failure mode.
- Limits that matter for the scenario are called out in the stage decisions above.
β‘ Execution Stages & Decision Trace
Stage 1 β Stage 1 β Delta Lake: How ACID Guarantees Underpin the Medallion Pattern
- Delta Lake is the open-source table format that makes Medallion reliably implementable on object storage.
- Without Delta Lake (or a similar format like Apache Iceberg or Apache Hudi), running an UPDATE or DELETE on Parquet files in S3 is not atomic β a partial failure leaves the table in a corrupt state.
Deep Dive
Scenario context
Medallion Architecture solves the "data swamp" problem by organizing a data lake into three progressively refined zones β Bronze (raw, immutable), Silver (cleaned, conformed), Gold (aggregated, business-ready) β so teams always build on a trusted foundation, bad data never propagates silently, and any corruption can be replayed from scratch.
TLDR Three zones, one source of truth at every quality level: Bronzeβ¦
This walkthrough focuses on Scenario context.
Before making a design choice, clarify:
- Medallion Architecture solves the "data swamp" problem by organizing a data lake into three progressively refined zones β Bronze (raw, immutable), Silver (cleaned, conformed), Gold (aggregated, business-ready) β so teamβ¦
- TLDR Three zones, one source of truth at every quality level: Bronze⦠This walkthrough focuses on Real-World Applications: Medallion at a High-Traffic E-Commerce Platform .
- Before making a design choice, clarify: - An e-commerce marketplace processes 5 million orders per day, sourced from a mobile app, a web frontend, and a third-party reseller API.
Concepts in play: data-warehousing-lakehouse, consistency-replication, jvm-internals-and-garbage-collection, transaction-isolation-distributed-acid
Stage 1 β Stage 1 β Delta Lake: How ACID Guarantees Underpin the Medallion Pattern
- Delta Lake is the open-source table format that makes Medallion reliably implementable on object storage.
- Without Delta Lake (or a similar format like Apache Iceberg or Apache Hudi), running an UPDATE or DELETE on Parquet files in S3 is not atomic β a partial failure leaves the table in a corrupt state.
- Delta Lake solves this with a write-ahead transaction log ( delta log/ ) that records every operation as a JSON commit entry.
- Every read sees a consistent snapshot regardless of concurrent writes.
Observable outcome: - Every read sees a consistent snapshot regardless of concurrent writes.
Stage 2 β End-to-end outcome
- After working through the stages, you should be able to explain: - Enforce Bronze immutability with IAM policies, not just convention.
- "We never mutate Bronze" is a convention that survives until the first incident where someone manually patches Bronze to fix a one-off problem.
- Medallion Architecture is a design pattern, not a technology β it organizes a data lake into Bronze (raw), Silver (cleaned), and Gold (aggregated) zones with explicit contracts between them.
- Bronze is sacred β it is the immutable source of truth that enables any downstream layer to be replayed from scratch when a bug is discovered.
Observable outcome: - - Bronze is sacred β it is the immutable source of truth that enables any downstream layer to be replayed from scratch when a bug is discovered.
End-to-end outcome
Medallion Architecture solves the "data swamp" problem by organizing a data lake into three progressively refined zones β Bronze (raw, immutable), Silver (cleaned, conformed), Gold (aggregated, business-ready) β so teams always build on a trusted foundation, bad data never propagates silently, and any corruption can be replayed from scratch.
Alternatives considered
Alternatives considered
Decision Guide: When to Use Medallion Architecture At the end of this pipeline run, the CFO dashboard sees today's revenue broken down by product category, with duplicate orders removed, currency normalized, and all data validated against the Silver schema contract β from a single query against Gold, with zero cleaning code in the dashboard layer.
Failure and degraded modes
Failure and degraded modes
- Detection: The source does not isolate a separate failure mode.
- User or operator impact: The source does not isolate a separate failure mode.
Key learnings
- Delta Lake is the open-source table format that makes Medallion reliably implementable on object storage.
- After working through the stages, you should be able to explain: - Enforce Bronze immutability with IAM policies, not just convention.
