Samenvatting
dbt v2 maakt SQL-linting tot 250 keer sneller met een in Rust herschreven engine die SQL en Jinja semantisch begrijpt.
dbt v2 en SQL-linting: wat er gebeurt
dbt Labs heeft de Jinja-engine van dbt v2 herschreven in Rust. Daardoor begrijpt dbt niet alleen projectconfiguratie en DAG-opbouw, maar ook de grammatica van de SQL- en Jinja-code die het uitvoert. De linter werkt volgens de demonstratie 40 tot 250 keer sneller dan standaard SQLFluff op hetzelfde project.
De nieuwe engine ondersteunt incrementeel projectstatusbeheer, statische analyse en lokale foutcontrole. De LSP-linter toont problemen direct in VS Code; dbt lint geeft dezelfde meldingen in de terminal. Vijf nieuwe dbt-specifieke SQLFluff-regels signaleren onder meer hardgecodeerde tabellen en OR-voorwaarden in joins. dbt format en dbt lint --fix herstellen automatisch een deel van de overtredingen.
dbt v2 verschuift controles naar het project
dbt v2 voert voor linting geen introspectiequeries naar het warehouse uit. De semantische kennis van SQL en Jinja vult die informatie lokaal aan. Daarmee verschuift een deel van de controle van externe query-uitvoering naar de ontwikkelomgeving.
Ook dbt checks werken op een intern, door het project gegenereerd informatieschema. Dat schema bevat onder meer modellen, documentatie, lineage, groepen, macro’s en metrics en wordt via DuckDB bevraagd. Checks krijgen een instelbare ernst en selectie en draaien automatisch tijdens dbt build. Dit biedt een alternatief voor patronen die eerder in Jinja-tools zoals dbt Project Evaluator stonden.
dbt v2: concrete takeaway
Test dbt v2 eerst op linting in een representatief project. Vergelijk de meldingen met SQLFluff, controleer welke regels automatisch herstelbaar zijn en bepaal welke controles je via dbt checks tijdens dbt build wilt afdwingen. Zet voor volledige lineage in dbt docs bovendien strict static analysis aan. dbt docs gebruikt hetzelfde informatieschema en draait via DuckDB in WebAssembly in de browser, zodat een statisch hostbare catalogus ontstaat.
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...
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...
KennisbankWat is Business Intelligence? Uitleg, voorbeelden en tools
Wat is business intelligence (BI)? Leer over de definitie, de BI-stack, praktijkvoorbeelden, populaire tools en de trend...