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.


Vil du vite mer?

Ta kontakt for en uforpliktende prat!

Rune Hagbartsen