Hva er dbt (data build tool)?

Hvis du jobber med data engineering og dataanalyse, har du kanskje allerede hørt snakk om dbt i kontorlandskapet. Men hva er egentlig dbt? Og hvilke fordeler fører rammeverket med seg? 

Dbt står for Data Build Tool, og er et rammeverk som hjelper utviklere og analytikere å bygge, vedlikeholde og teste datatransformasjoner. Rammeverket har de seneste årene blitt ekstremt populært. Dette i stor grad som et resultat av økt etterspørsel etter skybaserte datavarehus som Snowflake, BigQuery og Databricks. 

Dbt er bygget opp rundt SQL, men med utvidet funksjonalitet i form av makroer i templating-språket Jinja. Avhengigheter mellom transformasjoner er ofte svært komplekse og sårbare for at verdikjeden stopper opp. Ideen bak dbt er å gjøre det enklere å kjøre transformasjoner i riktig rekkefølge. 

I dbt defineres transformasjon som individuelle modeller med avhengigheter til andre modeller. Når dbt kjører, kompileres koden og dbt tar av seg jobben med å kjøre SQL-scriptene i riktig sekvens opp mot din dataplattform. Ved å transformere dataene der de befinner seg, i stede for å flytte på dataene, legger dbt til rette for å jobbe med store datamengder. Til tross for at verktøyet er kraftig og fleksibelt nok til å håndtere de fleste transformasjons- og modelleringsoppgaver, er læringskurven relativt lav. Dette gjør at dbt raskt blir en favoritt blant de med tidligere kjennskap til SQL. 

Effektivt samarbeid og enklere testing

Dbt har i tillegg til kjernefunksjonaliteten utmerket seg ved å adressere en rekke av de mest sentrale problemstillingene som oppstår i et moderne analysemiljø. I møte med stadig mer komplekse dataflyter er blant annet muligheten for effektivt samarbeid viktigere enn noen gang. Det å kunne si hvem som har gjort hva, og når det ble gjort, er avgjørende for å lykkes i større team. Ved å kunne bygge robuste CI/CD-pipelines reduserer man mulighetene for menneskelige feil i utrullingen av løsninger. Dbt integrerer sømløst med Git enten du jobber lokalt eller i dbt Cloud. Man har da de samme mulighetene innenfor samarbeid, versjonskontroll og CI/CD-pipelines som software-utvikling har hatt tilgjengelig i en årrekke ved hjelp av modne verktøy som Github og Gitlab. 

En annen sentral problemstilling er testing av kvaliteten på dataene som inngår i en analyse. Feilaktige og manglende data leder til feilaktige og manglende analyser. Å identifisere et godt rammeverk som adresserer disse problemene kan være krevende. I dbt kan man benytte ferdigdefinerte eller egenskrevne tester for å validere kvaliteten til de underliggende dataene eller resultatet av transformasjoner. dbt har også en innebygd funksjonalitet for å automatisk generere en datakatalog hvor man kan se data lineage, tester og annen relevant metadata for ditt dbt-prosjekt.

Fersk dbt-partner

Computas sitt erfarne data og smartanalyse-team har lang erfaring med bruk av dbt. Et tydelig bevis på særdeles god dbt-kompetanse, er at Computas også er en av få dbt-partnere i Norge. 

– Et produkt som dbt er noe du vil se i nær sagt alle moderne dataplattformer i dag, sier fagdirektør for data og smartanalyse i Computas Anders Elton. 

– Vi har brukt dbt i flere år nå, og det er et modent verktøy som både tradisjonelle utviklere og analytikere finner seg fort hjemme i – og liker! Den siste tiden har vi registrert en rask økning i popularitet og etterspørsel i markedet, og da er det også viktig for oss å fortsatt videreutvikle egen spisskompetanse. Det gjør vi blant annet gjennom et formelt partnerskap med denne teknologileverandøren, avslutter Elton.


Portrettbilde av Rune Hagbartsen

Vil du vite mer?

Ta kontakt for en uforpliktende prat!

Rune Hagbartsen