Three layers, three jobs
Bronze holds data as it arrived from the source, with minimal change: raw files, change feeds, or API responses, plus ingestion metadata such as load time and source. Its job is to be a faithful, replayable record, so you can reprocess everything if your logic changes.
Silver is where data becomes trustworthy: deduplicated, typed, validated, with consistent keys and handled nulls, and conformed across sources. Gold is shaped for consumption - business-level tables, ideally in a star schema, with the measures and grain your reports and applications actually need.
| Layer | Contains | Typical consumer |
|---|---|---|
| Bronze | Raw data as ingested, with load metadata | Data engineers reprocessing |
| Silver | Cleaned, validated, conformed tables | Data scientists, analysts |
| Gold | Curated business-level facts and dimensions | Power BI, applications, APIs |
How it maps onto Fabric
On Fabric, each layer is commonly a lakehouse, or a set of schemas within one, with data stored as Delta tables in OneLake. Pipelines or dataflows ingest into bronze, Spark notebooks or SQL transformations refine into silver and gold, and the gold tables are what Power BI reads - including through Direct Lake, which avoids a separate import copy.
Fabric's write-time optimization, V-Order, and routine Delta table maintenance such as compacting small files keep those gold tables fast to read. Neglected tables with thousands of tiny files are a frequent hidden cause of slow Direct Lake and Spark performance.
Common mistakes to avoid
Do not skip bronze to save storage; being unable to replay history after a logic bug is far more expensive. Do not let reports query silver directly because it is convenient; that couples dashboards to cleaning logic that should be free to change. And do not build one giant gold table - model for the questions people ask, with a clear grain and shared dimensions.
Finally, add data quality checks between layers and surface failures, so bad data stops at the boundary instead of reaching a report that an executive reads.
Keep bronze, always
A replayable raw layer turns a logic bug from a disaster into a re-run.
Test at the layer boundaries
Row counts, null checks, and uniqueness tests between layers catch bad data before it is published.
Building a Fabric lakehouse and want the layers designed properly the first time? Talk to our data team.
Key takeaways
- Bronze keeps raw data replayable, silver makes it clean and conformed, and gold shapes it for reporting and applications.
- On Fabric each layer is typically a lakehouse or schema of Delta tables in OneLake, with gold feeding Power BI, including through Direct Lake.
- Table maintenance, such as compacting small files, is part of the design, not an afterthought.
- Do not skip bronze, do not point reports at silver, and put data quality checks at layer boundaries.
Zetrixweb