ACID-transacties
ACID-transacties zijn de vier garanties (Atomicity, Consistency, Isolation, Durability) die zorgen dat je data correct blijft, ook als een p...
Lees meerEen DAG (directed acyclic graph) is de vorm waarin een datapijplijn beschreven staat: elke stap is een blokje, elke afhankelijkheid een pijl. Zo ligt de volgorde vast, mogen onafhankelijke stappen tegelijk draaien en kan geen enkele stap in een cirkel op zichzelf wachten. Airflow, dbt en Spark bouwen er allemaal een.
Een DAG is de vorm waarin bijna elke datapijplijn beschreven staat: blokjes met pijlen ertussen. Elk blokje is een stap, elke pijl zegt "dit eerst, dat pas daarna". De drie letters staan voor directed acyclic graph, en die naam valt netjes uit elkaar.
Graph (graaf): een verzameling punten met verbindingen ertussen. Denk aan haltes op een metrokaart, met lijnen die ze verbinden.
Directed (gericht): de verbindingen zijn pijlen, geen gewone lijnen. Ze wijzen één kant uit. Een pijl van stap A naar stap B betekent: A moet klaar zijn voor B mag starten, en niet omgekeerd.
Acyclic (acyclisch): er zit geen lus in. Volg je de pijlen, dan kom je nooit terug bij een blokje waar je al geweest bent. Geen enkele stap kan uiteindelijk op zichzelf wachten.
Een datapijplijn bestaat uit stappen die op elkaar wachten: eerst data ophalen, dan transformeren, dan het rapport verversen. Zet je die stappen als blokjes met pijlen neer, dan krijg je vanzelf een DAG. En dat is geen toeval, want die vorm lost drie dingen tegelijk op.
De volgorde ligt vast. Uit de pijlen leidt een machine zelf af wat eerst moet en wat pas daarna. Je hoeft nergens een vast uur in te typen en te hopen dat de vorige stap tegen dan klaar is.
Onafhankelijke stappen mogen samen draaien. Twee blokjes zonder pijl ertussen hebben niets van elkaar nodig, dus kan een orkestrator ze tegelijk uitvoeren in plaats van na elkaar.
Niets loopt vast in een cirkel. Omdat er geen lus in mag, kan stap A niet op stap B wachten terwijl B op A wacht. Zo'n cirkel zou de hele keten laten stilvallen, en de acyclische regel sluit dat op voorhand uit.
Neem een nachtelijke keten met vier stappen:
Facturen ophalen uit je boekhoudpakket.
Betalingen ophalen uit je bank.
Beide koppelen tot één overzicht van openstaande bedragen.
Het rapport verversen.
De pijlen: stap 1 en stap 2 wijzen allebei naar stap 3, en stap 3 wijst naar stap 4. Tussen stap 1 en stap 2 loopt geen pijl, want de facturen en de betalingen hebben niets van elkaar nodig. Ze mogen dus tegelijk draaien. Stap 3 start pas als allebei binnen zijn, stap 4 pas als de koppeling klaar is. En nergens loopt een pijl terug: stap 4 wijst niet opnieuw naar stap 1. Dat is de hele DAG.
Je komt DAG's overal in de datawereld tegen, vaak zonder dat het woord valt.
In Apache Airflow heet je pijplijn letterlijk een DAG. Je schrijft in Python uit welke taken er zijn en welke op welke wachten, en Airflow bewaakt die graaf: het start elke taak zodra de taken ervoor klaar zijn.
Een dbt-project bouwt zijn DAG zelf op. Verwijs je in een model met ref() naar een ander model, dan weet dbt dat het ene van het andere afhangt. Uit al die verwijzingen samen leidt het de juiste uitvoeringsvolgorde af, zonder dat je die ergens apart onderhoudt.
Ook een Apache Spark-job draait als een DAG. Spark hangt je bewerkingen aan elkaar tot een graaf van stappen en voert die uit in de afgeleide volgorde. De web-interface toont die graaf zelfs letterlijk, met de bewerkingen als pijlen tussen de tussenresultaten.
De graaf is maar zo eerlijk als de pijlen die erin staan. Een stap die stilletjes op iets buiten de DAG rekent, een bestand dat een andere tool wegschrijft bijvoorbeeld, kleurt groen terwijl de data nog niet klaar is. Zet die afhankelijkheid ook echt in de graaf.
En hoe fijner je de blokjes knipt, hoe meer werk parallel kan draaien. Maar te veel piepkleine blokjes maken de graaf onleesbaar. Knip op de plekken waar een stap echt iets afrondt waar een andere op wacht.
ACID-transacties zijn de vier garanties (Atomicity, Consistency, Isolation, Durability) die zorgen dat je data correct blijft, ook als een p...
Lees meerApache Airflow is een open-source orkestrator: je beschrijft je datapijplijnen als code in Python, in de vorm van een DAG, en Airflow plant ...
Lees meerEen API of Application Programming Interface is de afgesproken manier waarop software met andere software praat. Je stuurt een verzoek in ee...
Lees meerEen approval workflow is een geautomatiseerde goedkeuringsstroom waarin een mens expliciet ja of nee zegt voor een document, aanvraag, betal...
Lees meerBanking as a Service laat bedrijven zonder banklicentie bankdiensten aanbieden onder eigen merk. Een gelicentieerde bank stelt rekeningen, k...
Lees meer
Zeven nieuwe Data Panda-connectors uit juni 2026, met concrete toepassingen voor rapportering, voorraad, finance, ticketing, planning en ope...
Nieuw in Microsoft Fabric? Zo verschillen een lakehouse en een warehouse, in mensentaal: wat ze doen, wanneer je wat kiest en wanneer je bei...