Introduksjon til dbt¶
Data Build Tool (dbt) er et åpen kildekode-verktøy som hjelper dataanalytikere og data engineers med å transformere data mer effektivt. dbt fokuserer på transformasjonsdelen (T) i ETL-prosessen (Extract, Transform, Load) – det forutsetter at data allerede er lastet til databasen. Du skriver SQL, og dbt sørger for riktig kjørerekkefølge, håndterer DDL/DML og holder orden på avhengigheter. Det er ikke noe behov for å ha kjennskap til Python for å komme i gang.
dbt Labs har en egen introduksjonsside: What is dbt? (dbt Labs)
Fordeler med dbt¶
- Modularisering og gjenbruk: SQL skrives som moduler som er enkle å vedlikeholde og gjenbruke.
- Versjonskontroll: Integrasjon med Git gjør det mulig å spore endringer og samarbeide effektivt.
- Automatisert testing: Innebygd teststøtte sikrer at datamodellene er nøyaktige og pålitelige.
- Dokumentasjon: dbt genererer dokumentasjon automatisk fra kode og skjemadefinisjonene.
- Skalerbarhet: Egnet for alt fra enkle transformasjoner til komplekse pipelines med 30+ avhengige SQL-filer.
Lurer du på om dbt passer bedre enn å kjøre SQL direkte fra Python? Med en gang antall spørringer eller kompleksiteten øker, hjelper dbt med å strukturere koden og holde oversikt over kjørerekkefølgen.
dbt-core eller dbt-cloud hos NAV¶
dbt finnes som open source (dbt-core) og som skybasert tjeneste (dbt Cloud). dbt Cloud støtter kun skydatabaser som BigQuery og Snowflake, og kan ikke brukes mot Oracle on-prem.
For Oracle on-prem bruker vi dbt-oracle – en community-connector vedlikeholdt av Oracle, basert på dbt-core. Utviklingsmiljøet er Knast.
For materialisering og arkitekturvalg, se Materialiseringsstrategier.
Lenker¶
Kurs - dbt fundamentals¶
Det finnes et fundamentals kurs hos dbt labs. Dette kurset bruker dbt cloud, men mesteparten av innholdet kan overføres til dbt-core.
Det finnes også et kursmiljø basert på GitHub Codespaces og dbt-core: dbt-i-nav-intro-kurs.
Designprinsipper¶
How to design a dbt model from scratch – hvordan tenke når du designer nye modeller.
Dimensjonsmodellering¶
Kimball er fortsatt relevant med dbt: Building a Kimball dimensional model with dbt
Bok¶
Data Engineering with dbt – introduksjon til data engineering og grunnleggende dbt-bruk. Kapittel 8 om testing er særlig relevant.
Nyttige lenker¶
- dbt's egne guider: Lessons
- Community-samling av ressurser: awesome-dbt