Ga naar inhoud

Blog · 28 augustus 2026

Quarantaine, geen crash: wat een pipeline met foute rijen hoort te doen

Een laadproces dat stukloopt op één misvormd record is niet streng, maar breekbaar. Een laadproces dat het stilletjes accepteert is erger. Het bruikbare antwoord is een derde.

3 min lezen

Bij het laden van data duiken steeds twee faalwijzen op, en ze zijn elkaars tegenpool.

De eerste is de pipeline die bij de eerste foute rij volledig stopt. Eén record heeft een misvormde datum, de job geeft een fout, en 400.000 goede records komen niet aan. Iemand wordt opgepiept, herstelt één cel en draait het hele proces opnieuw.

De tweede is de pipeline die alles accepteert. Er gaat nooit iets mis, en dat voelt geweldig tot iemand merkt dat het omzetcijfer niet klopt en niemand kan zeggen sinds wanneer.

De derde optie

Foute rijen horen te worden omgeleid, niet fataal te zijn. Valideer elk record tegen de regels die er echt toe doen, laat de goede door, en schrijf de fouten naar een quarantainetabel, samen met de reden waarom ze faalden en de batch waar ze uit kwamen.

Dat verandert de vorm van het probleem. Het laden wordt afgerond. De goede data is beschikbaar. De foute data wordt niet stilletjes weggegooid en niet stilletjes geaccepteerd: ze staat op een specifieke plek, met een verklaring, klaar om bekeken te worden. En wat het belangrijkst is: het aantal rijen in quarantaine wordt een getal dat je kunt volgen.

Een quarantainetabel die altijd leeg is, zegt dat de regels te los zijn. Een die volloopt, zegt precies waar je moet kijken.

Welke regels het afdwingen waard zijn

Niet elke controle verdient het om een rij om te leiden. Deze doen dat meestal wel:

  • Verplichte velden waar latere joins van afhangen. Een ontbrekend klant-id is geen cosmetisch probleem.
  • Types die moeten kunnen worden geparsed. Een datum die geen datum is, faalt later, verderop en verwarrender.
  • Referentiële controles tegen dimensies die je zelf beheert. Een order voor een product dat niet bestaat is een echt signaal.
  • Bereiken die fysiek onmogelijk zijn. Negatieve aantallen, tijdstempels in de toekomst, percentages boven de honderd.

Controles die beter werken als waarschuwing dan als omleiding: ongebruikelijke maar geldige waarden, optionele velden, alles waarbij het bedrijf echt rommelige maar geldige gevallen heeft. Die omleiden leert mensen de quarantaine te negeren, en dan schiet het zijn doel voorbij.

Schemadrift is een eigen categorie

Een kolom die verdwijnt, van type verandert of onder een nieuwe naam binnenkomt, is geen foute rij. Het is een gebroken contract, en dat hoort het laden te stoppen in plaats van 100% van de records één voor één in quarantaine te zetten.

Het onderscheid doet er operationeel toe. Fouten op rijniveau zijn een dataprobleem en lossen zichzelf vaak op. Schemadrift is een wijziging bij de bron waar iemand vandaag van moet weten, omdat elke aanname verderop in de keten zojuist twijfelachtig is geworden.

Hoe goed eruitziet

Je ziet of een pipeline dit goed doet aan de hand van één vraag: als er iets misgaat, vertelt het systeem je dan wat, hoeveel en sinds wanneer? Als het antwoord een stack trace is, is het ontwerp niet af. Als het antwoord een aantal rijen, een reden en een batch-id is, dan wel.

  • Datakwaliteit
  • Pipelines
  • Betrouwbaarheid

← Alle artikelen

Ook voor jouw bedrijf?

Vertel wat te veel tijd kost of wat je wilt verbeteren.