Skip to main content
Data Engineering

Medallion Architecture Explained: Bronze, Silver and Gold Layers

The design review usually goes the same way. Somebody puts up a slide with three coloured rectangles, says "we'll follow the medallion architecture", and everyone nods. Six months later the Silver layer has 340 tables, four different Gold tables report revenue, and nobody can tell you which one finance signs off. Teams adopt the diagram without adopting the rules — and the rules are the whole point.

Amit Kumar Singh - Technology Consulting Partner at MyData Insights

Technology Consulting Partner · MyData Insights

14+ years in industrial data · Former Accenture & EY · India, GCC, SEA

17 August 2026 · 14 min read

The bottom line

Medallion architecture organises a lakehouse into three layers of increasing quality. Bronze holds data landed exactly as received and never edited. Silver holds cleaned, conformed, deduplicated records with business entities resolved. Gold holds business-ready facts, dimensions and aggregates. The value is not the three-way split — it is that each layer carries a contract: Bronze is what the source sent and can be replayed; Silver can be joined on a business key without further cleaning; Gold can go in front of a Business Head without a caveat. You do not always need three layers — match the count to the number of genuine transformation problems. The pattern does not create master data, does not settle a disputed KPI definition, and fails when Silver becomes a dumping ground or Gold tables multiply until nobody knows which is authoritative. Those are organisational failures, not architectural ones.

A layer is not a folder — it is a promise

The pattern itself is sound — the most useful organising idea in lakehouse engineering, and it survives contact with real estates better than most things consultants draw. What goes wrong is that teams adopt the diagram without adopting the rules, and the rules are the whole point. A layer is not a folder. It is a promise about what a consumer of that data can assume.

This is the definitional version: what each layer is for, what does not belong in it, whether you need all three, and how it is built in Microsoft Fabric and Databricks.

What is medallion architecture?

Medallion architecture is a data design pattern that organises a lakehouse into three layers of progressively higher quality and readiness. Bronze holds data landed exactly as received and never edited. Silver holds cleaned, conformed, deduplicated records with business entities resolved. Gold holds business-ready aggregates and dimensional models built for reporting. Databricks, which named the pattern, states plainly that following it is a recommended practice, not a requirement.

The value is not the three-way split. It is that each layer carries a contract: anything in Bronze is what the source system actually sent, and can be replayed; anything in Silver can be joined on a business key without further cleaning; anything in Gold can be put in front of a Business Head without a caveat. Platforms fail because one of those three contracts was quietly broken, not because the diagram was wrong.

What belongs in each layer — and what does not

LayerPurposeTypical contentsWhat does NOT belong
BronzeSource fidelity and replayabilityRaw extracts, API payloads, CDC records, load timestamp and source columnsDeduplication, type coercion, business rules, joins, in-place corrections
SilverA trustworthy, conformed recordType-cast columns, deduplicated rows, resolved keys, UoM and currency standardisation, SCD historyReport-specific filters, KPI calculations, anything created because one dashboard needed it
GoldAnswering a business questionStar schemas, conformed facts and dimensions, aggregates, KPI definitions calculated onceRaw columns kept "just in case", one-off tables for a single chart, anything without a named owner

Three boundary rules are the ones teams break first. Bronze is immutable — a corrected record lands as a new Bronze row with a later load timestamp; edit it and you lose the ability to prove what the source said on a given date. Silver is conformed, not curated — the test: if two departments would disagree about a transformation, it does not belong in Silver. Gold is authored, not accumulated — every Gold table needs a named owner and a stated question it answers, or it is a report someone left lying around.

Bronze is what the source sent. Silver is clean and joinable. Gold can go to a Business Head without a caveat. Break one of those three promises and the platform fails — not because the diagram was wrong.

Do you need all three layers?

No. Three layers are a default, not a rule. The three-layer default earns its keep when at least one of these is true: more than three or four source systems that disagree about master data; a regulatory, contractual or audit reason to prove what a source sent on a given date; extracts that are expensive, rate-limited or unrepeatable, so reprocessing must come from your own storage; or more than one team consuming the same cleaned data for different purposes.

If none hold — a single ERP, one finance team, monthly reporting — three layers add two sets of pipelines, tests and storage costs for a dataset that needed one. A 12-table finance mart carrying the full treatment because it was "the standard" takes eleven weeks instead of four, and nothing about the output is better. Where a fourth layer legitimately appears: a landing zone ahead of Bronze holding files in original format, or a serving layer after Gold — pre-aggregated tables for one consumption pattern. Calling it "Platinum" is harmless; what matters is that it is documented as derived from Gold and never becomes a second source of truth.

How medallion architecture is implemented in Microsoft Fabric

In Fabric, medallion layers are implemented as separate lakehouses — Microsoft recommends one lakehouse per layer in its own workspace for access control — or as schemas within a schema-enabled lakehouse. Three features do most of the work. Lakehouse schemas are generally available and enabled by default; tables are addressed as schema.table, schemas carry their own access control, and schema shortcuts map a schema onto Delta tables held elsewhere without moving data.

Materialized Lake Views let you declare a layer transformation as a CREATE MATERIALIZED LAKE VIEW statement with a data quality constraint — CONSTRAINT valid_sales CHECK (sales_amount > 0) ON MISMATCH DROP, where the alternative is FAIL. Fabric detects dependencies, orchestrates refresh order, and exposes constraint violation counts per stage, which turns "is Silver clean?" from an opinion into a number. And Delta Change Data Feed enables incremental Bronze-to-Silver processing — but it captures changes only from the point it is enabled and does not backfill, so enable it when you create the table, not when you need it.

How medallion architecture is implemented in Databricks

In Databricks, medallion layers are Delta tables governed by Unity Catalog's three-level namespace — catalog, schema, table. Two layouts work: a catalog per environment with bronze/silver/gold schemas inside, or a catalog per layer with schemas by business domain. Pick one and write it down; mixing both is how you end up with prod_gold.finance.fact_sales and gold.prod_finance.fact_sales in the same estate. Lakeflow Declarative Pipelines (formerly Delta Live Tables) enforce quality with expectations:

ActionBehaviour
Warn (default)Invalid records are written; violation metrics collected
Drop (ON VIOLATION DROP ROW)Invalid records dropped before write; dropped count logged
Fail (ON VIOLATION FAIL UPDATE)Update fails and the transaction rolls back

A sensible allocation: warn at Bronze so ingestion never stops, drop at Silver so downstream consumers get clean rows, fail at Gold so a broken number never reaches a dashboard.

Naming and workspace conventions that save pain later

These are unglamorous, and they are the difference between a platform that stays legible at year three and one that does not:

  • Layer in the container, not the table name — silver.sales_order_line, not silver_sales_order_line in a flat namespace, so access control can follow the layer
  • Source system in every Bronze object — bronze.sap_vbap, bronze.d365_salesorderheader; the source name is the only thing stable when the business reorganises
  • Entity-first names in Silver, fact-or-dimension names in Gold — silver.customer; gold.fact_sales_order, gold.dim_customer
  • The same load metadata on every Bronze table — source system, source file identifier, load timestamp, and a batch identifier you can filter on to replay
  • One environment boundary, enforced — separate workspaces or catalogs for dev, test and production; never a _test suffix inside a production container
  • Retire, do not accumulate — every Gold table gets an owner and a review date; tables without either are deprecated on a schedule

Where this breaks: what medallion does not fix

Silver becomes a dumping ground — the most common failure. Because Silver has no crisp acceptance test, anything "sort of cleaned" lands there; three years in you have hundreds of Silver tables, half single-consumer transformations that belonged in Gold, and engineers start reading from Bronze again. Gold tables multiply until nobody knows which is authoritative — four tables that all compute revenue, none deprecated, and the monthly variance meeting becomes a reconciliation exercise. The fix is organisational — a named owner per Gold table with the authority to switch old ones off — not architectural.

Bronze that is not actually replayable — teams enable Change Data Feed after go-live, overwrite Bronze partitions on reload, or never capture the source file, so when a Silver transformation turns out wrong for eight months the reprocessing cost lands on the ERP nobody can hammer during month-end. Test replayability on a real table before you need it. Medallion does not create master data — Silver resolves entities only if a mapping exists. And it does not settle a disputed KPI definition — if operations and finance disagree on how on-time delivery is calculated, putting it in Gold moves the argument rather than ending it.

What to do first

Four questions, answerable in an afternoon, that tell you more than a design workshop will:

  • Take your three most-used reports and trace each number back to a physical table. How many distinct tables produce the same measure?
  • Take one Bronze table. Can you reprocess the last 90 days from your own storage today, without touching the source? If not, what is missing — Change Data Feed, retained files, or load metadata?
  • Count your Silver tables and their consumers. The ones with exactly one downstream consumer are Gold tables in the wrong place
  • For every Gold table, name the owner. The ones you cannot name are causing the arguments

If question one returns more than one table per measure, your problem is Gold governance, not architecture. If question two fails, fix Bronze before building anything else on top of it. We build these on Microsoft Fabric, OneLake and Power BI — first value in six weeks, on a working slice.

The diagram is easy; the contracts are the work. Bronze replayable, Silver conformed, Gold owned — hold those three and the pattern earns its keep. Book 30 minutes with Amit — no slides, no pitch deck, no obligation to proceed — a straight read on whether your current layering is helping or costing you, and what the first correction should be.

Free Assessment

Where does your operation sit on the data maturity curve?

8 questions. 3 minutes. You get a scored breakdown across data infrastructure, analytics readiness, and automation potential — with a specific next step for your industry.

Data EngineeringMedallionData LakehouseMicrosoft FabricDatabricks

Your Data · Our Technology · Our Automation

Get practical insights every fortnight

Amit writes about Microsoft Fabric, Power BI, AI in operations, and digital transformation for manufacturing and supply chain leaders. Practitioner perspective - no fluff, no vendor spin.

No spam. Unsubscribe any time. Also on Substack.

FAQ

Common questions

What is medallion architecture in simple terms?

Medallion architecture organises a data lakehouse into three layers of increasing quality. Bronze stores data exactly as received from source systems and is never edited. Silver stores cleaned, deduplicated records with business keys resolved. Gold stores business-ready facts, dimensions and aggregates. Each layer carries a promise about what a consumer can assume without further checking.

Do I need all three medallion layers?

Not always. Three layers earn their cost when you have several disagreeing source systems, an audit or contractual need to prove what a source sent, expensive or unrepeatable extracts, or multiple teams consuming the same cleaned data. A single-ERP finance mart with one consuming team is usually better served by collapsing Bronze and Silver.

What is the difference between the Silver and Gold layers?

Silver makes records trustworthy and joinable — type casting, deduplication, entity resolution, unit and currency standardisation — at their natural grain. Gold makes them answerable, applying agreed business definitions to produce facts, dimensions and aggregates. The test: if two departments would disagree about a transformation, it belongs in Gold, not Silver.

Can I put business logic in the Bronze layer?

No. Bronze exists to preserve source fidelity so you can replay and prove what arrived. Applying business rules there destroys the audit trail and makes reprocessing impossible when a rule later changes. Corrections arrive as new Bronze rows with later load timestamps, never as updates to existing rows.

How is medallion architecture implemented in Microsoft Fabric?

Layers are built as separate lakehouses — Microsoft recommends one per workspace for governance — or as schemas inside a schema-enabled lakehouse. Materialized Lake Views declare transformations in Spark SQL with ON MISMATCH DROP or FAIL data quality constraints, automatic dependency ordering and lineage. Delta Change Data Feed enables incremental processing between layers.

What is a Platinum layer?

Platinum is an informal fourth layer some teams add after Gold: pre-aggregated, heavily denormalised tables built for one consumption pattern such as a semantic model or an external API. It is legitimate as long as it is documented as derived from Gold and never becomes a competing source of truth for the same measure.

Continue Reading

Related Articles

Advisory

Microsoft Fabric Implementation RFP Template for Manufacturers

The business runs a proper process. Procurement issues a 20-page RFP, five firms respond, and the evaluation meeting stalls within the hour. Every bidder answered "yes, fully compliant" to every requirement. The prices sit three or four times apart for the same nominal scope. Nobody can explain the spread, so the panel decides on price and a feeling about whoever presented best — because the RFP asked product questions, and every bidder is selling the same Microsoft product.

16 min read

Advisory

Red Flags to Watch for When Hiring a Power BI Consultant

The engagement usually looks like a success for about eleven months. A distributor signs a four-week build, the demo lands well, the invoice is paid. In month twelve the commercial director asks a new question — margin by customer by promotion — and the answer comes back at six to eight weeks and most of the original build cost, because the fact table was loaded at header grain, not line grain. Nothing was mis-sold. The consultant optimised for the demo, not the estate.

14 min read

Advisory

What to Expect in a Microsoft Fabric Discovery Sprint: An Honest Scope

The proposal says two to four weeks, workshops, stakeholder interviews, a current-state assessment and a target-state roadmap. It reads well. It also reads exactly like the last three proposals you were sent, and you cannot tell from the document whether anyone is going to touch your data. Discovery is the phase where a buyer has the least ability to judge quality, because the output is paper.

14 min read

Want to see how MDI solves this in your industry? Explore industry solutions

Is this the challenge you're facing?

Book a 30-minute call. We'll look at your specific operation and tell you what's achievable - plainly and without slides.