The Medallion architecture organizes data into three progressively refined layers. It is popular on lakehouse platforms, but the pattern works on any analytical engine, including ClickHouse and SQL Server.
Bronze: raw and immutable
Bronze stores data exactly as it arrived from the source, plus ingestion metadata such as load time and CDC operation. Nothing is cleaned here.
Why: you can always replay history, audit what the source sent and rebuild downstream models after a logic change.
Silver: cleansed and conformed
Silver applies data types, trims and standardizes values, removes duplicates, filters cancelled or deleted records and maps keys across systems.
Why: every downstream model starts from one clean version of each entity.
-- Illustrative silver model
SELECT
name AS invoice_id,
upper(trim(supplier)) AS supplier_key,
posting_date,
grand_total
FROM bronze.purchase_invoice FINAL
WHERE docstatus = 1Gold: business-ready
Gold holds subject-area facts and dimensions, such as procurement savings, inventory value or sales against target, with agreed business definitions.
Why: dashboards and analysts query gold. Logic lives in one place.
Practical tips
- Name layers explicitly (schemas or databases called
bronze,silver,gold) so ownership is obvious. - Test at each boundary. Row counts and reconciliation from bronze to silver, and business-rule tests in gold.
- Do not skip silver to save time. That is how inconsistent KPIs return.
- Keep gold lean. Build what decisions need, not every possible aggregate.
- Medallion Architecture
- Lakehouse
- dbt
