Home/Insights/Data Governance · Microsoft Fabric
Data Governance · Microsoft Fabric

Why We Never Let Anyone Touch the Bronze Layer: Immutability, Replay and Incremental Data Quality

CD

Craig Daniels

Senior Analytics Solutions Consultant

June 2026·8 min read
Why We Never Let Anyone Touch the Bronze Layer: Immutability, Replay and Incremental Data Quality

Why an immutable raw layer, a genuinely replayable pipeline and treating data quality as continuous rather than a one-off project are the three principles that decide whether a platform ages well.

Ask a data team what their architecture principles are and you’ll usually get a diagram. Ask what happens when a business rule changes eighteen months after go-live, or when someone discovers a transformation bug that’s been quietly wrong since April, and you find out what the principles actually were. Good data engineering isn’t really about the diagram. It’s about a small number of rules that get followed even when following them is inconvenient. Three matter more than the rest: keep the raw data immutable, make every pipeline replayable, and treat data quality as something you improve continuously rather than solve once.

An abstract spiral of data points representing an immutable, versioned raw data layer
A raw layer that never changes shape is what makes replay and continuous quality improvement possible.

Immutability: the rule that earns its keep when you least expect it

Immutability means the Bronze layer is never updated in place and never has rows deleted from it. New data arrives, it gets appended or landed as a new file, and whatever arrived yesterday stays exactly as it was. It sounds like a simple rule, and it is, right up until the day someone asks a question it was built for. A regulator reclassifies a product category. Finance discovers that a currency conversion was applied incorrectly for six months. A source system migration means historical records need reprocessing under a new schema. In every one of these situations, the business needing to reconstruct history is not a hypothetical, it happens on almost every platform we’ve built. An immutable Bronze layer means that reconstruction is a reprocessing job. Without one, it’s an archaeology project, hoping someone kept a backup or an old export that happens to still be lying around.

Replayability: why “run it again” has to actually be possible

Immutability only pays off if you can actually do something with the raw data you’ve kept, which is where replayability comes in. A replayable pipeline is one where you can point it back at the start of Bronze and run the whole thing through to Gold again, with the same result you’d get from a normal daily run, or a deliberately different result if the logic has changed. That depends on a few things being true: transformation logic lives in version-controlled notebooks or Dataflows Gen2, not in someone’s one-off Power Query edit; the logic is deterministic, so the same input always produces the same output; and orchestration, typically Data Factory pipelines in a Fabric estate, is built to be re-triggered end to end rather than nursed through manually step by step. The alternative, the thing replayability is designed to replace, is the manual fix: someone opens the report, corrects the numbers by hand, and quietly hopes nobody asks how. That fix doesn’t survive the next refresh, and it teaches nobody anything about why the number was wrong in the first place.

Incremental data quality: not solved once, improved continuously

Data quality is often treated as a project with an end date, a big cleansing exercise that gets the data “right” and then moves on. In practice it behaves more like a discipline than a project. A new quality rule gets written the day someone finds a new way the data can be wrong, not before, because nobody can anticipate every failure mode in advance. What makes this workable rather than exhausting is that the new rule doesn’t just apply going forward. Because Bronze is immutable and the pipeline is replayable, a new rule can run back across the full history the moment it’s written, so historical Gold tables get the benefit of everything learned since the platform was first built, not just what was known on day one. That compounding is the real argument for the first two principles. Immutability gives you the raw material to go back to. Replayability gives you the mechanism to apply what you’ve learned to all of it, not just what happens to land tomorrow.

What this looks like on a Fabric estate

In practice this isn’t abstract. OneLake stores Bronze and Silver as Delta tables, which carry their own version history, so even accidental changes can usually be traced and rolled back. Notebooks and Dataflows Gen2 live in Git-backed Fabric workspaces, so transformation logic has a change history of its own, not just the data. Data Factory pipelines are parameterised so a full historical reprocess is a configuration change, not a rewrite. And Purview lineage ties it together, showing exactly which rule changed, when, and what it touched downstream. None of this is exotic. It’s the same handful of decisions, made consistently, that we build into every Fabric platform we deliver, and it’s the natural continuation of the layer responsibilities and the stepwise transformations we’ve written about before.

None of these three principles are difficult on their own. What’s difficult is holding to them under deadline pressure, when the fast path is a manual fix, and the disciplined path is a proper reprocess. If you’d like an honest read on whether your own platform actually holds up when you need to replay it, get in touch at hello@hoptonanalytics.com, and we’ll take a look.

CD

Craig Daniels

Senior Analytics Solutions Consultant

Part of the Hopton Analytics team, delivering governed analytics programmes for UK mid-market organisations.

FAQs

Frequently asked questions

Get started

Ready to put this into practice?

Reading about better analytics is a start. Working with us is how it happens.

Book a free analytics audit