Bronze Silver Gold Data Layers: A Practical Medallion Architecture Guide
Bronze, silver, and gold should be more than three schema names. Use this practical guide to define what belongs in each layer, how data gets promoted, and when a simpler design is better.
Your dashboard is wrong, but the SQL is correct. The problem started two steps earlier: a duplicated order slipped through ingestion, a late refund missed the daily transform, or two systems disagreed about what “active customer” means. When raw records and business-ready metrics live together, tracing that failure is painfully slow.
The bronze silver gold pattern prevents this confusion by giving data a clear path from source to decision. This guide explains what belongs in each layer, how records should be promoted, and how to design a small implementation that analysts can trust without turning three helpful boundaries into three new silos.
What bronze silver gold means in data architecture
Bronze, silver, and gold are progressive data-quality layers in a medallion architecture. Bronze preserves source data, silver validates and conforms it, and gold publishes business-ready models for reporting, analytics, and applications. The names describe data readiness—not storage value, access priority, or three mandatory technologies.
Databricks defines medallion architecture as a multi-hop design that improves data structure and quality as records move through the layers. Google Cloud’s overview makes an equally important point: this is a logical framework rather than a specific product. You can implement it in a lakehouse, cloud warehouse, or another analytical platform that supports durable raw storage and repeatable transformations.
| Layer | Primary job | Typical data | Main consumers | Promotion test |
|---|---|---|---|---|
| Bronze | Preserve what arrived | Source-shaped tables, files, events, ingestion metadata | Data engineers, audit processes | The load is complete, traceable, and replayable |
| Silver | Make records trustworthy and reusable | Typed, deduplicated, conformed, detailed entities | Analysts, data scientists, downstream transforms | Quality rules pass and entity meaning is stable |
| Gold | Make data easy to consume | Facts, dimensions, aggregates, semantic views | BI developers, business users, applications | Metrics match an agreed business definition |
The progression is about fitness for purpose. A silver customer table can be more detailed than a gold revenue table; gold does not mean “contains everything.” It means the dataset is shaped for a defined business use.
The bronze layer: preserve before you improve
Bronze is the landing zone. Copy data from operational databases, APIs, files, and event streams with as little transformation as practical. Preserve source field names and values, then add ingestion metadata such as source, batch or event ID, arrival time, and load time.
The rule is simple: bronze should let you reconstruct what the source delivered. Microsoft’s Azure Databricks medallion guidance recommends retaining the raw state and history so teams can audit and reprocess data. That capability matters when transformation code changes, a source sends malformed records, or an analyst needs to explain why yesterday’s result changed.
Bronze is not permission to ignore operations. You still need to detect empty extracts, broken files, missing partitions, and unexpected volume changes. Those are ingestion checks, not business transformations. Quarantine unreadable payloads rather than silently dropping them.
A practical bronze table for orders might retain the source payload plus:
source_systemsource_record_idingested_atbatch_idor stream offsetsource_filepayload_hash
Avoid deduplicating orders, converting currencies, or deciding whether an order counts as revenue here. Those choices alter meaning and belong in a later layer. If you overwrite raw values to “fix” them, you lose the evidence needed to replay and debug the pipeline.
The silver layer: validate, deduplicate, and conform
Silver converts source-shaped records into stable analytical entities. This is where you cast types, normalize timestamps, standardize codes, handle nulls, deduplicate events, resolve late-arriving data, and join records that describe the same business object.
The Microsoft layer guidance explicitly places schema enforcement, type casting, data-quality checks, deduplication, joins, and schema evolution in silver. It also advises against writing directly from ingestion to silver because schema changes or corrupt source records can otherwise interrupt the validated dataset.
The most useful silver models keep detail. For example:
customerscontains one current, conformed record per customer.orderscontains one validated record per order.order_linespreserves product-level transaction grain.paymentsreconciles gateway events to orders without prematurely aggregating them.
This is also where a conceptual data model becomes operational. A conceptual model says the business has customers, orders, products, and payments; silver defines their keys, relationships, grains, and quality rules. An example conceptual model might say “a customer places many orders,” while the silver implementation decides how guest checkouts, merged accounts, and deleted source records are represented.
Do not turn silver into an undocumented collection of one-off report tables. Its value comes from reuse. If finance, product, and operations all need an order, they should start from the same validated order entity even when their gold outputs differ.
The gold layer: publish business meaning
Gold is the consumption layer. It applies approved business rules and presents data in shapes that make common questions fast and hard to misinterpret. Typical outputs include star schemas, data marts, semantic views, feature tables, and precomputed aggregates.
Databricks describes gold tables as project-specific, read-optimized models with final business rules, often using star-schema patterns. Microsoft likewise recommends dimensional models and measures in gold so analysts can find domain-specific data and answer questions without rebuilding definitions in every dashboard.
An executive sales model might include:
- a
fact_salestable at one row per completed order line; dim_customer,dim_product, anddim_datedimensions;- governed measures for gross revenue, refunds, net revenue, and active customers;
- daily or weekly aggregates for recurring dashboard queries.
Gold should encode a contract with its users: grain, refresh cadence, owner, source lineage, metric definitions, and known limitations. A table named weekly_revenue is not business-ready if no one knows whether it uses order date or settlement date, includes tax, or restates refunded weeks.
Do not force every exploratory question into gold. Detailed silver data can remain the right source for investigation and data science. Gold earns its place when a definition is repeated, a query is expensive, or a decision requires a governed answer.
A bronze silver gold example for sales analytics
Suppose a SaaS company needs a weekly revenue dashboard. Billing data comes from a payment processor, plan details live in the product database, and refunds arrive as separate events.
In bronze, the team lands each source independently. Payment events remain append-only, plan snapshots retain their original fields, and every load includes arrival and source metadata. If the processor later resends an event, both deliveries remain observable.
In silver, the team parses timestamps into one standard, maps currencies, deduplicates payment event IDs, links subscriptions to customer accounts, and attaches refunds to the original charge. Failed records enter a quarantine table with a reason instead of disappearing. The core output remains detailed: one clean charge or refund event per row.
In gold, the team defines recognized revenue, net revenue, trial conversion, and active subscriptions. It builds a date dimension, customer and plan dimensions, and a revenue fact table. A weekly aggregate speeds the executive dashboard, while the detailed fact remains available for drill-down.
This separation shortens incident analysis. If net revenue drops, the team can inspect the gold calculation, trace the affected facts to conformed silver events, and compare those events with the original bronze payload. Each layer answers a different question: what arrived, what is valid, and what the business means.

A bronze silver gold implementation checklist
The architecture becomes useful when promotion rules are explicit. Use this sequence for a first production slice.
1. Start with one decision, not the whole warehouse
Choose one recurring question with a named owner, such as “What was net revenue by plan last week?” Trace only the sources and entities needed to answer it. This keeps the first bronze architecture narrow enough to validate while still proving the full pattern.
2. Declare grain and keys before transformations
For every silver and gold dataset, write a one-sentence grain statement: “one row per payment event,” “one row per completed order line,” or “one row per customer per day.” Identify the natural or surrogate key and decide how updates, deletes, and late records behave. Most duplicate-count errors begin with an unstated grain.
3. Give each layer a measurable contract
Define the checks that allow data to move forward:
- Bronze: expected source arrived, record count is plausible, payload is retained, metadata is populated.
- Silver: required keys exist, types parse, duplicates follow a documented policy, relationships reconcile, invalid rows are quarantined.
- Gold: measures reconcile to approved control totals, dimensions join as expected, freshness meets the service level, and owners approve definition changes.
Track rejected records and failed expectations as operational data. A green pipeline that silently drops 2% of orders is not healthy.
4. Keep lineage and replay paths intact
Every silver record should be traceable to bronze, and every gold output should identify its silver inputs and transformation version. Prefer idempotent jobs: rerunning the same input should produce the same state rather than duplicate data. Test a replay before you need one during an incident.
5. Separate storage layers from access policies
Bronze, silver, and gold are data states; they are not a complete security model. Restrict raw personal or sensitive fields, apply least-privilege access at each layer, and expose only approved attributes in business-facing outputs. Microsoft’s current reference architecture treats identity, role-based access, lineage, and certified semantic models as controls that span the whole lifecycle rather than one isolated layer.
6. Validate consumption with a real question
Once the first gold model passes control totals, ask a business user to answer the original question without help from the pipeline author. For teams that want plain-English exploration over governed tables, GetInsights can connect directly to the existing database with read-only enforcement and turn questions into SQL, charts, and shareable dashboards. That is most useful after silver and gold definitions are trustworthy; an easier query interface cannot repair ambiguous source data.
Common medallion architecture mistakes
Treating layer names as documentation
Three schemas called bronze, silver, and gold do not create quality. Add owners, grains, tests, lineage, and promotion criteria. Otherwise, users still have to guess which table is safe.
Cleaning bronze until it cannot be replayed
Parsing an envelope may be necessary to store a record, but avoid destructive business transformations. Preserve the original value or payload beside any technical extraction so a new silver rule can be applied later.
Aggregating silver too early
If silver contains only daily totals, downstream teams cannot investigate individual transactions or create a different aggregation. Maintain a validated, non-aggregated representation of each important record; Microsoft lists this as a silver-layer principle in its current guidance.
Building one universal gold table
Gold is often domain-specific. Finance and product may legitimately need different facts, time logic, and service levels. Share conformed dimensions and metric definitions, but avoid a giant table whose grain changes from column to column.
Adding layers without a reason
The pattern is a recommended design, not a requirement. A small team with one clean source and one simple report may need only a raw history plus a modeled view. Add a layer when it creates a useful contract, isolates change, enables replay, or serves a distinct consumer—not because the metal name appears in a diagram.
Frequently asked questions
What are bronze, silver, and gold layers?
Bronze stores source data with minimal change, silver produces validated and conformed detailed data, and gold publishes business-ready models and aggregates. Data quality and usability increase across the layers, while traceability should remain intact.
What is the difference between ETL and medallion architecture?
ETL or ELT describes how data is extracted, transformed, and loaded. Medallion architecture describes where data sits at progressive stages of readiness. A team can use batch ETL, ELT, streaming, or a mix of processing methods to implement bronze, silver, and gold layers.
Is medallion architecture only for Databricks?
No. Databricks popularized the bronze, silver, and gold terminology, but the pattern is platform-independent. Google Cloud describes it as a logical framework, and Microsoft documents implementations across Azure Databricks and Fabric.
Is medallion architecture still relevant for real-time data?
Yes, provided the pipelines and storage engine support the required latency. Microsoft documents a real-time medallion implementation in which raw events move through validation and enrichment while materialized views support deduplication and aggregation. The layers describe quality states, not a batch-only schedule.
When should you not use medallion architecture?
Do not force three physical layers onto a tiny, stable workflow when each copy adds cost without improving ownership, replay, quality, or usability. A simpler raw-and-modeled design may be enough. Keep the conceptual boundaries even if two states share one physical platform.
Can analysts query the silver layer?
Yes. Silver is often appropriate for detailed exploration, advanced analytics, and data science. Business dashboards should usually prefer gold because it packages agreed metrics and query-friendly models, but access should follow the use case rather than a blanket rule.
Conclusion: choose boundaries your team can enforce
Use bronze silver gold when your team needs to preserve raw history, reuse validated entities, and publish stable business definitions. Start with one decision, declare the grain, define promotion tests, and prove that a gold number can be traced back to its source.
If those boundaries reduce ambiguity and recovery time, expand the pattern one domain at a time. If they only create extra copies, simplify the physical design and keep the contracts that make the data trustworthy. Next, connect the result to your AI analytics workflow or improve the underlying queries with a consistent SQL formatting workflow.
Ask your data a question instead
Connect your database and ask in plain English. GetInsights writes the SQL, runs it read-only, and hands you the chart and dashboard.
Start for free