Data Strategie

dbt State: optimaliseer runs voor lagere kosten en sneller itereren

dbt Blog
dbt State: optimaliseer runs voor lagere kosten en sneller itereren

Samenvatting

dbt State laat runs alleen gewijzigde modellen bouwen, met lagere compute en sneller itereren als resultaat.

dbt State beperkt onnodige runs

dbt State onthoudt wat eerdere runs hebben toegepast en vergelijkt dat met de huidige situatie. In productie verplaatst de techniek freshness-logica van jobschema’s naar modelcode, met `lag_tolerance` en voorwaarden voor wat als nieuwe brondata geldt.

Die regels werken op map-, submap- of modelniveau. dbt Labs bracht daarmee een intern proces terug van 19 jobs naar 2. Bij Fanatics leverde een pilot 25-30% modelhergebruik en ongeveer 15% besparing op Snowflake op.

In development ondersteunen auto-cloning en auto-deferral het bouwen van één model zonder alle upstream-modellen opnieuw te berekenen. `state:modified` werkt zonder handmatig beheer van `manifest.json`. Zero-copy cloning haalt een bestaande tabel uit een andere omgeving, terwijl `dbt explain` uitlegt waarom een model wel of niet draaide.

Waarom dbt State verschil maakt

dbt State splitst twee vragen die vaak door elkaar lopen: moet een model opnieuw worden uitgevoerd, en is brondata vers genoeg? State richt zich op de eerste vraag. Het vervangt geen source-freshness-alerting; die functie staat nog op de roadmap.

Ook gelden duidelijke grenzen. Views bouwen opnieuw wanneer hun onderliggende query wijzigt, en snapshots vallen volledig buiten State. Dat maakt een controle per objecttype nodig voordat teams bestaande workflows aanpassen.

De aanpak raakt zowel productie als ontwikkeling. Productieteams krijgen modelniveaubeleid voor uitvoering, terwijl analytics engineers en AI-agents wijzigingen kunnen testen zonder upstream-berekeningen te herhalen. De betrokkenheid van Reuben McCreanor van dbt Labs en Iaroslav Zeigerman van Fivetran laat zien dat dbt State zowel product- als enginekennis vraagt.

Concrete takeaway voor dbt State

Breng eerst in kaart welke modellen opnieuw draaien zonder upstream-wijziging. Test daarna `lag_tolerance`, auto-deferral en zero-copy cloning op een afgebakend project, en meet compute, doorlooptijd en modelhergebruik afzonderlijk. Houd freshness-alerting daarnaast als los proces in stand.

Lees het volledige artikel
Meer over Data Strategie →