TechExplainedNL
|
Alle patterns
Architecture PatternMicrosoft FabricOneLake

Medallion Lakehouse

Het standaardpatroon voor dataplatformen in Fabric: Bronze, Silver en Gold, en de valkuilen die de plaatjes niet laten zien.

2 juni 2026

Het patroon

Data stroomt door drie lagen. Bronze bevat brondata zoals aangeleverd, append-only en herafspeelbaar, niet transformeren, wel compacteren tegen small files. Silver bevat opgeschoonde, geconformeerde en gededupliceerde data met een stabiel schema en business-sleutels. Gold bevat businessklare domeinmodellen, meestal sterrenmodellen of brede tabellen per gebruiksdoel, met V-Order aan.

In Fabric implementeer je dit met Lakehouses en Delta-tabellen, waarbij Power BI via Direct Lake op Gold leest. De engine kies je per laag, niet per platform: Spark voor Silver (semi-gestructureerd, rij-complex, ML-voorbereidend), T-SQL als optie voor de laatste Gold-stap (set-based, beheerd door een SQL-team). Omdat beide op dezelfde OneLake-tabellen werken, mag dat zonder data te kopiëren.

Wanneer gebruik je dit

  • Meerdere bronnen met wisselende kwaliteit die je herhaalbaar wilt verwerken.
  • Je wilt herafspeelbaarheid: bij een fout in logica bouw je Silver en Gold opnieuw uit Bronze.
  • Meerdere consumenten (BI, ML, API's) op dezelfde data.

Wanneer juist niet

  • Eén bron, één rapport: drie lagen zijn dan bureaucratie. Begin kleiner.
  • Sub-seconde latency: Medallion is een batch- of micro-batchpatroon; gebruik dan Real-Time Intelligence.
  • Als "Bronze, Silver, Gold" alleen mapnamen zijn zonder afgesproken kwaliteitscontract per laag, heb je het patroon niet, alleen de mappen.

Trade-offs

  • Opslag versus herafspeelbaarheid: Bronze bewaren kost opslag, maar zonder Bronze is elke logicafout onherstelbaar. Bewaar Bronze, snoei met retentiebeleid.
  • Latency versus kwaliteit: elke laag voegt verwerkingstijd toe. Accepteer dat, of definieer een expliciete fast path voor de weinige echte realtime-behoeften.
  • Silver-discussies: de moeilijkste keuzes zitten in Silver, wat is "schoon"? Leg per tabel een kwaliteitscontract vast, anders verschuift de discussie naar elke sprint.

Praktijkvalkuilen

De grootste stille kostenpost is elke nacht de hele Silver herbouwen. Maak incrementeel de standaard: MERGE met de Change Data Feed van Bronze, of gestructureerde streaming voor events, zodat je alleen de delta verwerkt. Dat is het verschil tussen een run van minuten en een run van uren.

Teams maken vaak een vierde of vijfde laag ("Platinum") omdat Gold te breed wordt. Dat is meestal een signaal dat Gold per consumptiedoel gemodelleerd moet worden in plaats van als één verzamelplek. En: shortcuts in OneLake kunnen een externe bron als "virtuele Bronze" ontsluiten zonder kopie, gebruik dat voordat je pipelines bouwt die alleen maar data verplaatsen.

Tot slot de security-gotcha die in geen enkel medallion-plaatje staat: RLS die je op het SQL Analytics Endpoint definieert, isoleert níét in Spark. Spark leest de onderliggende Delta-bestanden rechtstreeks en omzeilt endpoint-RLS volledig. Leun voor isolatie tussen tenants of domeinen op OneLake Security en fysieke scheiding (aparte lakehouses of workspaces), niet op endpoint-RLS.

Medallion Lakehouse | TechExplainedNL