Alteryx en dbt zijn twee van de 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 bij het verklaren van wat wij bedoelen met data transformatie.

Stel je voor dat je twee tabellen hebt. In de eerste tabellen heb je klantennamen en land van herkomst, en in de tweede heb je klantennamen 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.

Nu laten we naar beide opties kijken.

Alteryx

Alteryx kan eigenlijk veel meer dan data maar 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

Wat betreft data transformatie, Alteryx is een drag en drop tool. Dat betekent dat, hoewel het op SQL gebaseerd is, hoeven gebruikers van Alteryx niet per se in SQL kunnen scripten. Het is genoeg om de onderliggende logica te kunnen 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. 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 de volgende. Iemand maakt een Alteryx bestand en slaat het op (op Alteryx Server of op je eigen computer). Laten we deze bestand “Workflow A” benoemen. Als iemand anders, of ook dezelfde persoon, Workflow A wilt aanpassen, dan hebben ze twee optie:

  1. Ze kunnen een kopie van Workflow A aanmaken en aanpassingen binnen die kopie toevoegen. Op dit 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 kunnen vaak niet snel beantwoorden zijn.
  2. De andere optie is om Workflow A direct binnen dezelfde bestand aan te passen. Echter, kan dit nog meerdere risico’s veroorzaken. Door het opslaan van aanpassingen binnen dezelfde 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 is niet makkelijk om terug naar de vorige versie te gaan.

—> SUGGESTIE: Als je met Alteryx werk, zorg dan ervoor 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 niet SQL te kennen
– visueel

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

moelijk om terug te gaan naar vorige versie van een bestand

dbt

Bij dbt is het heel anders.

Datatransformatie in dbt: powered by Git

dbt is gebaseerd op SQL. Als je met dbt werkt, dan moet je SQL kunnen schrijven. Verder, dbt gebruik je maar voor de data transformatie stuk, hij bevat niet zoveel mogelijkheden als Alteryx, maar vaak hebben bedrijven zoveel mogelijkheden echter 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 die voorbeeld van vroeger gaan, waarbij iemand Tabel A (aka Workflow A) aanmaakt en iemand anders het wilt aanpassen, dan als die tweede persoon een nieuwe versie van Tabel A opslaat, bewaart de Git functionaliteit van dbt de geschiedenis van het bestand. Dit betekent dat we altijd naar de nieuwe zoals de oude versie van het bestand kunnen kijken, en het is heel makkelijk om te zien wat de verschillen tussen de twee bestanden zijn, zoals om opmerkingen en uitleggingen toe te voegen.

Het grootste voordeel hiervan is dat als iets in de code niet klopt, het is makkelijk om terug naar de oude versie te gaan. Dit is handig als we data hebben die door de hele bedrijf gebruikt 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 maar de 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.). De opties op de markt zijn veel, 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 hier 🙂