Benieuwd naar de geheimen achter effectieve datapipelines en geoptimaliseerde data-analyse? In deze blog onthullen we de kracht van een moderne data stack. Van het bouwen van geautomatiseerde datapipelines tot het benutten van de cloud en het maken van de juiste keuze tussen ETL en ELT. Lees meer over deze data-engineering termen.

Een data stack is de hele set aan tools die gebruikt wordt om je data te verwerken. Vanaf het ontsluiten van een bron, de data schoon opslaan en daar transformaties op doen, tot uiteindelijk het visualiseren ervan. Hiervoor zijn eindeloze oplossingen en combinaties van tools te bedenken. In de ideale situatie kies je de tools die het beste aansluiten bij jouw data, organisatie en het doel waarmee je jouw data opslaat.

De datapipeline is de hele weg die data aflegt vanaf een bronsysteem naar de definitieve eindtabel (die bijvoorbeeld in een datawarehouse staat). Wanneer de data eenmaal in de definitieve tabel staat, dan kunnen data-analisten en data-scientists uit die tabel de ‘schone’ data weer ophalen om er verder mee aan de slag te gaan.

Wanneer je een geautomatiseerde datapipeline maakt dan zijn er een aantal factoren waarmee je rekening houdt: 

  • Betrouwbaarheid: de data die verwacht wordt, is ook echt aanwezig én inhoudelijk correct. 

  • Kosten: je bouwt geen onnodig dure oplossing en je zorgt ervoor dat deze schaalbaar is, zodat je enkel betaalt voor de capaciteit die je gebruikt. Daarnaast zijn de bewerkingen op de data (transformaties) geoptimaliseerd, zodat je niet meer rekencapaciteit gebruikt dan nodig. 

  • Begrijpelijkheid: een overzichtelijke pipeline met eenvoudige queries zorgt voor een lage leercurve, waardoor de oplossing minder foutgevoelig is. 

  • Processnelheid: een bewerking moet snel genoeg kunnen draaien én je moet er voldoende naast elkaar kunnen laten draaien zonder dat de boel vastloopt.

  • Time-to-market: nieuwe ontwikkelingen wil je graag snel live kunnen zetten (dit kan bijvoorbeeld door gebruik te maken van Continuous Integration/Continuous Delivery).

  • Onderhoud: de pipeline wordt zo gebouwd dat het goed kan meebewegen met de processen binnen een bedrijf. 

In de praktijk zien we dat het ene aandachtspunt vaak ten koste gaat van de ander. Een SaaS oplossing is bijvoorbeeld gemakkelijk in gebruik, maar ook weer prijzig. Dus dan kies je voor een goedkopere oplossing zoals zelf scripten of open-source, maar dat gaat weer ten koste van hoe foutgevoelig én gemakkelijk het in gebruik is. Dus hoe vind je een goede balans tussen al deze factoren? Lees dan even door! 

In traditionele datapipelines wordt veelal ETL (Extract, Transform, Load) toegepast. Hierbij worden transformaties gedaan vóór het inladen in de database. Winnende aan populariteit is echter ELT (Extract, Load, Transform), waarmee het makkelijker is om bovenstaande punten te optimaliseren. Bij ELT wordt ruwe data ingeladen in het datawarehouse, om deze daar pas te verwerken. Het belangrijkste verschil is dus dat bij ELT de rekenkracht plaatsvindt op het datawarehouse cluster, terwijl dit bij ETL met behulp van een ander proces daarbuiten plaatsvindt. Daarnaast wordt het mogelijk om je data (near) realtime beschikbaar te krijgen. En dan zijn er ook nog de volgende voordelen: 

  • SQL als taal: gemakkelijk in gebruik en ideaal voor transformaties.

  • Alles in het datawarehouse: alles kan samengevoegd worden; van ruwe data tot eindproduct. Dit zorgt voor eenvoudigere en minder foutgevoelige queries. Daarnaast wordt debuggen en testen gemakkelijker gemaakt.

  • Gebruik de kracht van het cluster: datawarehouse-clusters zijn ingericht voor complexe joins en transformaties op big data. Deze rekenkracht kunnen we ook optimaal benutten voor de transformaties.

Bij een moderne data stack draaien alle processen in ieder geval in de cloud, in plaats van op lokale servers. Daarnaast moeten alle processen geautomatiseerd kunnen worden. De overstap van ETL naar ELT biedt hiervoor de mogelijkheid. Ook zorgt ELT ervoor dat je alle logica naar je coding haalt. Hierdoor hoef je op de eindtabel in de database geen logica meer toe te passen. Data-analisten die met de data aan de gang willen, kunnen de data als het ware klakkeloos overnemen en direct visualiseren, zonder dat ze daar nog bewerkingen op hoeven te doen. 

Ten slotte biedt ELT de mogelijkheid om over te stappen op een virtueel datawarehouse. Hierin worden geen fysieke tabellen meer opgeslagen, maar wordt er een virtuele laag gebouwd boven op de ruwe data. Dit kan vandaag de dag omdat de performance van hardware bij cloudoplossingen geen issue meer is. Magisch toch?

Ben je geïnspireerd door dit stukje magie? Of wil je graag weten hoe de truc begint? We denken graag met je mee! Neem contact op via onderstaande contactgegevens.