Alteryx en dbt zijn twee data transformatieprogramma’s die wij bij The Information Lab Netherlands het vaakst gebruiken. Maar welke van deze is de beste optie voor jouw bedrijf?

Laten wij eerst beginnen met het verklaren van wat wij bedoelen met data transformatie.

Stel je voor dat je twee tabellen hebt. In de eerste tabellen heb je klanten namen en land van herkomst, en in de tweede heb je klanten namen en de product dat ze gekocht hebben. Als je doel is om te weten hoeveel producten per land worden gekocht, dan heb je data transformatie nodig.

Laten we nu naar beide opties kijken.

Alteryx

Alteryx kan eigenlijk veel meer dan data transformatie doen: met Alteryx kun je met API’s verbinden, complexe geographische analyses uitvoeren en zelfs machine learning doen. Vaak, als een bedrijf voor Alteryx kiest, komt die keuze door een of meerdere van deze mogelijkheden.

Voordelen van data transformatie in Alteryx

Alteryx is een drag en drop tool. Dat betekent dat, ondanks dat het op SQL gebaseerd is, hoeven gebruikers geen SQL ervaring te hebben. Het is voldoende om de onderliggende logica te begrijpen, en dit verlaagt de instapdrempel voor gebruikers van Alteryx. Het feit dat het zo visueel is maakt het ook makkelijker voor collega’s om snel te kunnen begrijpen wat een workflow eigenlijk doet, ter vergelijking met een SQL script.

Alteryx maakt geen gebruik van Git, het bekende versie controle systeem. Dit is wat mij betreft het grootste nadeel van Alteryx.

Nadelen van data transformatie in Alteryx

De manier waarop je in Alteryx met je collega’s kunt samenwerken is als volgt. Iemand maakt een Alteryx bestand en slaat het op (op Alteryx Server of op je eigen computer). Laten we dit bestand “Workflow A” noemen. Als iemand anders, of ook dezelfde persoon, Workflow A wilt aanpassen, dan hebben ze twee opties:

  1. Ze kunnen een kopie van Workflow A aanmaken en aanpassingen binnen die kopie toevoegen. Op deze manier hebben we nog een geschiedenis van bestanden, maar het kan wel voor verwarring zorgen: welke versie is correct? Welke is de meest recente? Wat zijn de verschillen tussen de twee bestanden? Deze vragen zijn vaak niet snel te beantwoorden.
  2. De andere optie is om Workflow A direct binnen hetzelfde bestand aan te passen. Echter, kan dit nog meerdere risico’s veroorzaken. Door het opslaan van aanpassingen binnen hetzelfde bestand, verliezen we meteen de geschiedenis: we weten niet meer hoe het bestand hiervoor eruit zag, wie heeft het aangepast en wat voor aanpassingen zijn toegevoegd. Dit betekent dat als iets fout gaat, het niet makkelijk is om terug naar de vorige versie te gaan.

—> SUGGESTIE: Als je met Alteryx werk, zorg er dan voor om een goede documentatie in te stellen binnen jouw bedrijf, om een omschrijving en uitlegging van elke aanpassing te bewaren.

Voordelen van Alteryx:
– gebruikers hoeven geen SQL te kennen
– visueel

Nadelen van Alteryx:
– geen Git: moelijker om samen te werken

moelijk om terug te gaan naar de vorige versie van een bestand

dbt

dbt zit heel anders in elkaar.

Datatransformatie in dbt: powered by Git

dbt is gebaseerd op SQL. Als je met dbt werkt, dan moet je SQL kunnen schrijven. Verder gebruik je dbt alleen voor het data transformatie stuk. Het bevat niet zoveel mogelijkheden als Alteryx, maar vaak hebben bedrijven zoveel mogelijkheden ook niet nodig.

Bij dbt is samenwerken makkelijk, omdat het gebruik maakt van Git. Ik zal niet ingaan op wat Git is en hoe het werkt, maar laten we gewoon zeggen dat als we terug naar het voorbeeld van eerder gaan, waarbij iemand Tabel A (aka Workflow A) aanmaakt en iemand anders het wilt aanpassen. Als die tweede persoon een nieuwe versie van Tabel A opslaat, dan zorgt Git ervoor dat er een uitgebreide geschiedenis van het bestand word bijgehouden. Dit betekent dat we altijd naar zowel de nieuwe als de oude versie van het bestand kunnen kijken, en is het heel makkelijk om te zien wat de verschillen tussen de twee bestanden zijn. Ook het is mogelijk om opmerkingen en uitleg toe te voegen.

Het grootste voordeel hiervan is dat als iets in de code niet klopt dat het dan heel makkelijk is om terug te gaan naar de oude versie. Dit is handig als we data hebben die door het hele bedrijf in gebruik is. We kunnen eerst naar de oude versie gaan en later het probleem oplossen.

Voordele van dbt:
– geschiedenis van aanpassingen en oude versies beschikbaar

samenwerken en teruggaan naar vorige versies is makkelijk

Nadelen van dbt:
– gebruikers moeten SQL kennen

het doet alleen het datatransformatie stuk

Conclusie

Deze vergelijking is niet zo simpel als “A is beter dan B”.

Heb je een datateam die al redelijk technisch is (of die tenminste gewend is om met te SQL te werken) en heb je maar die transformatie stuk nodig? Dan is dbt een fantastiche tool voor je organisatie.

Ben je meer in andere functionaliteiten geinteresserd zoals API’s, complexe geographische analyses of machine learning? Dan kan Alteryx een goede oplossing zijn.

En wat als je datateam niet voldoet aan een van deze beschrijvingen? Dan zou je misschien naar een derde optie willen kijken (bijv. Coalesce, Matillion, etc.). Er zijn veel opties op de markt, wat belangrijk is is om een product te kiezen die bij jouw behoeften past!


Heb je hulp nodig bij het kiezen? Neem dan rustig contact met ons op. 🙂