Samenvatting
dbt State voorkomt onnodige herbouw door ongewijzigde modellen opnieuw te gebruiken, met lagere kosten voor dbt-jobs.
Wat dbt State doet
dbt State is sinds 2026 algemeen beschikbaar en controleert per model of de gecompileerde SQL-logica of upstreamdata is veranderd. Als beide gelijk zijn gebleven, gebruikt dbt het vorige geldige resultaat opnieuw in plaats van het model opnieuw te bouwen.
De functie vergelijkt twee jobs die dezelfde modellen elk uur uitvoeren. Zonder dbt State draaien alle modellen en tests opnieuw; met dbt State wordt bijna elk ongewijzigd model hergebruikt. Tests voor hergebruikte modellen draaien niet opnieuw, omdat ze al succesvol zijn uitgevoerd.
dbt State kiest daarbij uit drie acties: hergebruik in hetzelfde schema, klonen vanuit een ander schema of opnieuw bouwen. Bij hergebruik controleert dbt ook de ingestelde lag_tolerance voor upstreamdata. Een model zoals stg_suppliers kan daardoor een eerder resultaat uit een andere job gebruiken zolang de logica en bronnen geldig blijven.
Waarom dbt State belangrijk is
De functie pakt verspilling op modelniveau aan. Dat onderscheidt dbt State van een volledige herbouw van een project, waarbij ook modellen zonder wijzigingen opnieuw worden uitgevoerd. De aanpak werkt bovendien over jobs heen: een geldige build uit een ontwikkel- of CI-schema kan als bron dienen voor een andere job.
De schaal maakt die keuze relevant. Volgens dbt bouwen dagelijks meer dan 22 miljoen modellen op het platform, terwijl de bron aangeeft dat de meeste opnieuw bouwen zonder upstreamwijziging. dbt State koppelt daarom geldigheid aan kosten: eerst moet een resultaat correct zijn, daarna kiest dbt de goedkoopste geldige actie.
Concrete takeaway
Zet dbt State aan bij jobs die dezelfde modellen herhaaldelijk bouwen en controleer daarna welke modellen worden hergebruikt. Begin met de standaardconfiguratie en stel lag_tolerance alleen bij wanneer de versheid van upstreamdata dat vereist. Controleer ook ontwikkel- en CI-schema’s, omdat daar al geldige resultaten kunnen staan die een productiejob kan klonen.
Verdiep je kennis
ETL uitgelegd — Extract, Transform, Load in gewone taal
Wat is ETL? Leer hoe Extract, Transform en Load werkt, het verschil met ELT, en welke tools je kunt gebruiken. Helder ui...
KennisbankWat is Power BI? Alles wat je moet weten
Ontdek wat Microsoft Power BI is, hoe het werkt, wat het kost en waarom het de populairste BI-tool ter wereld is. Comple...
KennisbankData lakehouse uitgelegd — Het beste van twee werelden
Wat is een data lakehouse en waarom combineert het het beste van data warehouses en data lakes? Vergelijking, architectu...