Skip to content

Hvorfor dbt?

dbt vs. tradisjonelle ETL-verktøy

dbt fokuserer utelukkende på transformasjon (T i ETL) og forutsetter at data allerede er lastet til databasen. Tradisjonelle ETL-verktøy håndterer hele kjeden fra utvinning til lasting.

dbt Tradisjonelle ETL-verktøy
Fokus Transformasjon Hele ETL-kjeden
Grensesnitt SQL Grafisk eller proprietært språk
Modularitet Høy – modeller kan gjenbrukes Varierer, ofte lav
Testing Innebygd Manuell innsats
Versjonskontroll Git-native Varierer

Referanser: - DBT vs Traditional ETL Tools - dbt or traditional ETL – which fits your needs?

Vanlige argumenter mot dbt i NAV

«Datateam må håndtere hele ETL‑kjeden, også ingest»

Dette stemmer i dag, men er ikke et teknisk krav.

En moden dataplattform tilbr standardisert ingest, slik at data allerede er tilgjengelig i target‑basene (Oracle i første omgang). Da kan datateam bruke dbt der verdien faktisk ligger: transformasjon, modellering og kvalitet. dbt erstatter PowerCenter‑mappinger – ikke hele dataplattformen.

NAV er kompleks på systemnivå, men et dedikert datateam jobber mot et eller få avgrensede domener og mest innenfor en database.

dbt håndterer kompleksitet ved å gjøre interne avhengigheter eksplisitte og versjonskontrollerte, isteden for å skjule alt i et sentralv verktøy.

«Vi trenger et grafisk verktøy for å få oversikt»

Det som etterspørres er som regel oversikt og trygghet, ikke selve GUI‑en. Det er for ekspempel en tydelig terkel å komme igang med git og GitHub. PowerCenter skjuler kode og avhengigheter i flere lag; dbt gjør alt åpent i kode og gir et tydelig dependency‑graph. Målet er at utviklingsopplevelsen i dbt skal ligne sprøøringer i Oracle SQL Developer, noe PowerCenter‑utviklere allerede er komfortable med.

«Vi trenger enterprise‑skalering»

dbt er i dag brukt i store, regulerte virksomheter til kritiske pipelines. Det som skalerer dårlig i NAV er monolittiske ETL‑verktøy med sentral styring og lav endringshastighet.

dbt gir:

  • tydelig eierskap
  • testbarhet
  • sporbarhet
  • CI/CD‑vennlig utvikling

dbt er enterprise‑modent, bare ikke et enterprise‑monolitt‑verktøy.

Kan jeg ikke bare kjøre SQL med Python?

Ja – for noen enkle spørringer kan det fungere fint. Men når antall spørringer eller kompleksiteten øker, hjelper dbt med å strukturere koden og holde oversikt over kjørerekkefølgen. Det er ikke uvanlig at en komponent består av 30 eller flere SQL-filer som avhenger av hverandre.