ACID-transacties
ACID-transacties zijn de vier garanties (Atomicity, Consistency, Isolation, Durability) die zorgen dat je data correct blijft, ook als een p...
Lees meerdbt is een SQL-first transformatietool: je schrijft SELECT-statements, dbt zorgt voor afhankelijkheden, tests, documentatie en materialisatie in je warehouse. Het maakte de rol analytics engineer bekend en zit vandaag in de meeste moderne datastacks.
dbt (data build tool) is een SQL-first transformatietool. Je schrijft eenvoudige SELECT-statements, dbt zet er de steigers omheen: model-afhankelijkheden, tests, documentatie, incrementele logica, materialisatie naar tabellen of views. Het resultaat is dat data-analisten zelf productie-grade transformaties kunnen bouwen, zonder een data-engineer nodig te hebben voor elk script.
De tool maakte de rol "analytics engineer" bekend: iemand die SQL schrijft met software-engineering-gewoontes (versiebeheer, tests, code review, CI/CD). Voor veel organisaties was dbt het keerpunt waarbij BI-teams hun eigen transformaties zijn beginnen bezitten in plaats van tickets in te schieten bij IT.
Je kan het vergelijken met Make voor je data warehouse. In plaats van handmatig te bedenken welk script eerst moet draaien, beschrijf je de afhankelijkheden met ref() en dbt rekent de uitvoeringsvolgorde zelf uit. Wat er veranderd is, wat opnieuw moet, en wat niet.
Een dbt-project is een Git-repo met SQL-bestanden, YAML-configuratie en (optioneel) Python-modellen.
Models als SELECT-statements
Elk model is één SQL-bestand met een SELECT-query. dbt compileert dat naar een CREATE TABLE of CREATE VIEW in je warehouse, volgens de materialisatie-instelling.
ref() en source() voor afhankelijkheden
In plaats van hardcoded tabelnamen verwijs je met {{ ref('stg_orders') }} naar een ander model of met {{ source('salesforce', 'contacts') }} naar een brontabel. dbt bouwt uit die verwijzingen een DAG en draait modellen in de juiste volgorde.
Jinja templating
SQL plus Jinja maakt je modellen programmeerbaar: macro's hergebruiken, if-then voor verschillende warehouses, loops over kolomlijsten. De macrotaal voelt eerst onwennig, maar komt van pas zodra je project groter wordt.
Materialisaties
view, table, incremental, ephemeral. Met één regel config beslis je of een model een view wordt (goedkoop, altijd vers) of een fysieke tabel (sneller, herberekend per run). Incremental modellen verwerken enkel nieuwe rijen, wat voor grote feittabellen het verschil maakt tussen minuten en uren.
Twee features die dbt fundamenteel anders maken dan een verzameling SQL-scripts.
Tests
In YAML verklaar je per kolom welke constraints gelden: unique, not_null, accepted_values, relationships (foreign-key-achtig). dbt genereert automatisch de SQL-checks en voert ze uit tijdens dbt test. Custom tests schrijf je zelf als query die nul rijen moet teruggeven. Tests draaien in CI zodat een breuk gevangen wordt vóór productie.
Documentatie
In dezelfde YAML beschrijf je modellen en kolommen in gewone taal. dbt genereert daaruit een doorklikbare documentatiesite met lineage-graaf, kolombeschrijvingen en tests per model. Voor business users is dat vaak de eerste plek waar ze de betekenis van een kolom vinden die niet in de UI staat.
dbt komt in twee smaken plus een nieuwere engine.
dbt Core
De open-source command-line versie. Python-gebaseerd, gratis, draait overal waar je een Python-runtime hebt. Voor self-hosted setups en teams die hun eigen orchestratie willen.
dbt Cloud
Het managed platform van dbt Labs. Web-IDE, ingeplande runs, Git-integratie, CI/CD, hosted docs, alerts. Kost extra, bespaart veel DevOps-werk. Voor teams die niet zelf een Airflow of Prefect willen onderhouden.
dbt Fusion
Een recentere Rust-gebaseerde engine die dbt Labs aankondigde. Snellere parsing, native SQL-begrip met directe foutmeldingen, Language Server Protocol-ondersteuning in editors. Wordt uitgerold binnen dbt Cloud met een tier-afhankelijke beschikbaarheid.
dbt is de transformatielaag bovenop je warehouse of lakehouse. Het is geen ingestie-tool (daarvoor zet je Fivetran, Airbyte of Azure Data Factory in), geen BI-tool (Power BI, Looker of Tableau zit erbovenop), geen orchestrator (Airflow, Dagster of dbt Cloud zelf).
De ondersteunde platforms dekken het moderne landschap: Snowflake, BigQuery, Databricks, Redshift, Postgres, DuckDB, en via de Fabric-adapter ook Microsoft Fabric Warehouse. Je schrijft één keer SQL, dbt vertaalt naar het dialect van het doelplatform.
In een typische moderne stack: bronsystemen naar ingestie (Fivetran) naar warehouse (Snowflake) naar dbt (transformatie naar medallion-lagen) naar BI (Power BI) naar gebruikers.
Niet elke transformatie is SQL-first
Heavy Python-logica (regex-parsing, ML-inference, web scraping) past niet in SQL. dbt Python-modellen vangen een deel op, maar voor complexe Python houd je beter een aparte laag voor ETL of Spark.
Model-explosie
Starten met twintig modellen is overzichtelijk. Na een jaar zitten sommige projecten op duizend-plus modellen en weet niemand meer wat er nog gebruikt wordt. Regelmatig snoeien, lineage-views bekijken en owners per domein toewijzen voorkomt dat je eigen tool je grootste schuld wordt.
Documentatie die verouderd raakt
dbt kan de structuur van kolommen automatisch genereren, maar de beschrijving in gewone taal moet iemand schrijven en onderhouden. Een uitgerolde docs-site met lege descriptions is erger dan geen docs.
CI zonder echte tests is schijnbeveiliging
Een dbt-project zonder tests draait perfect en breekt in productie. Investeer vanaf dag één in tests op je kolommen en op je business-assumpties, niet alleen op schema.
dbt is een tool, geen governance-oplossing
dbt documenteert wat er is, niet wat er mag. Toegangscontrole, classificatie en data contracts regel je in het warehouse of via tools bovenop, niet in dbt zelf.
ACID-transacties zijn de vier garanties (Atomicity, Consistency, Isolation, Durability) die zorgen dat je data correct blijft, ook als een p...
Lees meerEen afleidingsregel legt uit hoe een nieuwe waarde wordt berekend of bepaald uit bestaande data. Ze maakt businesslogica achter velden, metr...
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 meerApache Iceberg is een open tabelformaat voor grote analytische datasets op object storage. Het transformeert een map met Parquet-bestanden i...
Lees meerApache Kafka is een open-source platform dat stromen van events opslaat en doorgeeft: producenten schrijven berichten naar een topic, afneme...
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...