26 januari 2022 1680 woorden, 7 min. gelezen Laatste update : 15 maart 2022

ETL: vergelijking, kiezen, tips [gids 2022]

Door Pierre-Nicolas Schwab Gepromoveerd in marketing, directeur van IntoTheMinds
ETL: Extract – Transform – Load. Deze drie woorden alleen al vatten de functionaliteiten samen waaraan dit soort software-oplossingen moet voldoen. Een ETL-tool gaat dus om software, lokaal of in de cloud, die de voorbereiding van gegevens (data preparation) vergemakkelijkt. […]

ETL: Extract – Transform – Load. Deze drie woorden alleen al vatten de functionaliteiten samen waaraan dit soort software-oplossingen moet voldoen. Een ETL-tool gaat dus om software, lokaal of in de cloud, die de voorbereiding van gegevens (data preparation) vergemakkelijkt. Die laatste is gericht op het uitvoeren van 3 soorten bewerkingen op gegevens: (1) het extraheren uit bestanden van verschillende aard; (2) het transformeren en verrijken ervan om ze klaar te maken voor verwerking; (3) het herladen ervan in een ander systeem zodat ze kunnen worden gevaloriseerd.

Deze bewerkingen worden vergemakkelijkt door de grafische interface van ETL-oplossingen. Deze oplossingen zijn gebaseerd op “boxen” die kunnen worden samengevoegd om het gewenste resultaat te bereiken. Het is dus een “No Code”-oplossing die in (bijna) alle handen kan worden gelegd.

In dit artikel leg ik alles uit wat u moet weten over ETL’s en geef ik u mijn persoonlijke mening om te een keuze te maken. Dit is geen commercieel artikel (ik verkoop geen ETL’s), maar geeft gewoon een objectief standpunt weer.


Inhoud


ETL’s: waar komen ze vandaan?

De geschiedenis van ETL’s begon in de jaren 1980. In die tijd verschenen er specifieke softwareoplossingen voor het beheer van stromen tussen “eenvoudige” databases. In de jaren 90 werd overgegaan op aanpassing ervan aan datawarehouses (DWH).

In de jaren 2000 werd de markt meer gestructureerd en werden de ETL’s in twee categorieën verdeeld:

  • ELT’s: sommige ETL’s worden ELT’s en concentreren zich uitsluitend op de “E” en “L” (Extract and Load) taken, waarbij de “T” aan de database engine wordt overgelaten.
    Voorbeelden: Talend, Matillion, enz.
  • Volledige ETL’s: er werden meer “T”-functies toegevoegd: gegevensopschoning, iets complexere koppelingen. Sommige van deze instrumenten bestaan nog altijd in 2022. Bijvoorbeeld, IBM data stage, Ab inito.

Rond 2010 zien we een evolutie van ETL’s om een situatie te beheren waar er geen database engine “achter” zit. Dit is het tijdperk van het “data lake”. Dit maakt ETL’s een beetje achterhaald.
Data lake (Engelse site) is een nieuw concept dat is geoptimaliseerd voor bedrijfs-/gegevensanalisten en datawetenschappers die meer geavanceerde gegevensbehoeften hebben.

Dankzij data lake worden ‘volledige ETL’s’ wat ik ETL+ noem. Er zijn nieuwe functionaliteiten aan toegevoegd die hen in staat stellen veel complexere dingen te doen: text mining, data mining (machine learning), AI, big data, enz.  Het is in deze categorie dat we de ETL-tools vinden die volgens mij bovenaan staan: Anatella en Alteryx.


ETL’s op de markt

Er zijn veel te veel ETL’s op de markt om ze allemaal op te noemen. In de volgende paragrafen geef ik er 3 die ik dagelijks gebruik: Anatella, Alteryx en Tableau. Ik had Talend kunnen toevoegen, waarschijnlijk de bekendste oplossing op de markt, maar ik gebruik het niet genoeg en ik ben er geen grote fan van (vooral vanwege de prestatieproblemen die ik hier al aanhaalde).

Ook moet gezegd dat bedrijven zoals G2 benchmarks publiceren van ETL-oplossingen op de markt. Positioneringskaarten, zoals de kaart hieronder, zijn zeer nuttig om de verschillende oplossingen op de markt te evalueren.

Benchmark ETL

Een positioneringskaart voorgesteld door G2 op haar website. Deze kaarten zijn nuttig omdat zij u in staat stellen verschillende oplossingen duidelijk te situeren volgens bepaalde criteria. (bron: G2 website)


Eigenschap 1: extraheren (Extract)

De eerste functie van ETL’s is het extraheren van gegevens van de plaats waar ze zich bevinden. De term “extraheren” is hier misschien wat kort door de bocht, aangezien het eigenlijk gaat om de mogelijkheid om een bestand te openen en de gegevens die het bevat beschikbaar te maken voor gebruik in latere processen.

De opkomst van SaaS-oplossingen en de democratisering van cloud-opslag hebben van gegevensextractie een uitdaging op zich gemaakt. Er zijn nog nooit zoveel verschillende gegevensbronnen en -formaten geweest. Sommige propriëtaire formaten zijn zo gespecialiseerd dat ze slechts door een handvol ETL’s worden aangeboden. Wat ook leuk is, is de mogelijkheid om “concurrerende” bestanden te lezen. Anatella, bijvoorbeeld, heeft een “box” die Alteryx-bestanden kan lezen.

En dan hebben we het nog niet over ongestructureerde bestanden (pdf, word), die een echte uitdaging vormen en transformaties vereisen om te kunnen worden verwerkt (zie volgende alinea).

ETL Aantal “boxen” voor beheer van invoergegevens Opmerkingen
Alteryx 2020.1.5.25447 4
Tableau Prep 57 De lijst van ondersteunde formaten door Tableau Prep is echt indrukwekkend.
Anatella 2.38 37 Anatella kan ook ongestructureerde invoerformaten aan, wat soms zeer nuttig kan zijn.

 


Functionaliteit 2: transformeren (Transform)

Functies als “Transform” zijn, naar mijn mening, degenen die de meeste waarde toevoegen aan een ETL. Ook al heeft u de beste oplossing ter wereld om gegevens te extraheren, als u er niet mee kunt doen wat u wilt, is het nutteloos. In dit opzicht onderscheiden sommige ETL’s zich duidelijk door het aantal functies (de beroemde “boxen”) die ter beschikking worden gesteld.

In de onderstaande tabel geef ik een overzicht van het aantal boxen dat beschikbaar is om gegevens te “transformeren”. Om een zo juist mogelijk overzicht te geven heb ik de “boxen” geteld waarvan de functionaliteit in een van de volgende categorieën valt: opschonen, samenvoegen, gegevensopmaak

ETL Aantal beschikbare transformaties Opmerkingen
Alteryx 2020.1.5.25447 33

De getelde boxen behoren tot de categorieën “voorbereiding”, “koppeling”, “transformatie” van het hoofdmenu. Voor sommige van de boxen in het menu “voorbereiding” is het betwistbaar of zij al dan niet “transformerend” zijn, maar om het eenvoudig te houden heb ik ze allemaal in rekening genomen.

Tableau Prep 5 Tableau Prep is echt heel basaal op het gebied van transformaties. Men gaat ervan uit dat dit een instrument voor gegevensvoorbereiding is dat uitsluitend bedoeld is voor visualisaties in Tableau. Als berekeningen moeten worden gemaakt en variabelen moeten worden getransformeerd, worden in plaats daarvan de berekeningsvelden in Tableau gebruikt. Het is dus niet langer een kwestie van geen code.
Anatella 2.38 50 Ongetwijfeld de rijkste oplossing wat betreft het gamma aan functionaliteiten voor transformaties.

 


Sommige transformatiekenmerken kunnen het verschil maken tussen 2 ETL’s

Wat mij betreft, denk ik dat het verschil tussen 2 ETL’s in de mogelijkheden voor datatransformatie zitten. Programmeurs zullen me zeggen dat dit niet belangrijk is, maar daar ben ik het niet mee eens. Een ETL is een Low Code (of No Code)-tool en is dus bedoeld om het werk van niet-technisch personeel te vergemakkelijken. Het aantal functies dat voorhanden is, is in mijn ogen dan ook een belangrijk criterium.

Ik nodig u uit om dit artikel te lezen dat ik gewijd heb aan fuzzy matching. Afhankelijk van de tool die u gebruikt, zal fuzzy matching meer of minder ingewikkeld te implementeren zijn. Degenen die al databanken op elkaar hebben afgestemd, weten echter hoe tijdrovend kwaliteitsproblemen kunnen zijn. Een eigen fuzzy-matchingfunctie (vooral wanneer verschillende algoritmen beschikbaar zijn) is een echt pluspunt.


Eigenschap 3: laden (Load)

Van de 3 letters in “ETL” is de “L” de letter die mij het minst kritiek lijkt. De voorbereiding van gegevens met behulp van ETL-tools is vaak slechts het startpunt voor andere processen (voorspellende modellering, datamining, datavisualisering) die in gespecialiseerde oplossingen worden uitgevoerd. De laatste hebben altijd ingangsaansluitingen. Daarom lijkt het mij van belang dat er op ETL-niveau voldoende exportmogelijkheden zijn naar standaard uitwisselingsformaten.

Wanneer het gegevensvoorbereidings-/transformatieproces continu loopt, is de situatie enigszins anders. In dit geval kan het interessant zijn om exportmogelijkheden te hebben naar propriëtaire formaten. Dit voorkomt problemen bij het importeren van gegevens in een oplossing van derden. Anatella biedt bijvoorbeeld een export in het eigen formaat van Tableau (.hyper) wat tijd bespaart bij het inlezen van de gegevens.

ETL Aantal beschikbare uitvoerformaten Opmerkingen
Alteryx 2020.1.5.25447 5
Tableau Prep 3 De uitvoerformaten zijn erg beperkt. Eigenlijk is Tableau Prep ontworpen als tool om gegevens voor te bereiden voor visualisaties in Tableau.
Anatella 2.38 27 Ook hier is er een veelheid van uitvoerformaten beschikbaar, zelfs tot zeer exotische of weinig gebruikte formaten. Als een daarvan voor u belangrijk is, kan dat een sterk argument zijn bij uw beslissing.

 


Extra functies

Zoals uitgelegd in de paragraaf “Oorsprong” zijn ETL’s in de loop van de tijd geëvolueerd om bepaalde functionaliteiten te omvatten die verder gaan dan het specifieke kader van Extract – Transform – Load. Dit is het geval voor analyse- of visualisatiefuncties. De “ETL+” die ze aanbieden zijn de moeite waard om naar te kijken.

Deze extra functies in de ETL-tool zijn geen gadgets, maar juist versnellers. Zij maken het mogelijk het analyseproces te verkorten door te anticiperen op bepaalde stappen in het gegevensvoorbereidingsproces.

Ik denk dat u uw wensen van tevoren goed moet definiëren om het belang van dergelijke functies in te schatten. Sommige daarvan kunnen inderdaad marginaal zijn en zullen voor u van geen enkel nut zijn. Pas dus op dat u niet in de marketingval trapt en functies koopt die niet van belang zijn.

Bij wijze van voorbeeld volgen hier enkele van de extra functies die ik het meest waardeer in de Anatella-oplossing:

  • NLP: deze functie werd oorspronkelijk voor mij ontwikkeld (als onderdeel van mijn onderzoek naar viraliteit op LinkedIn)
  • Taalherkenning: zeer nuttig bij het werken met ongestructureerde gegevens
  • Visualisaties met R: Anatella bevat R-code waarmee snel eenvoudige visualisaties kunnen worden gemaakt. Deze kunnen worden gebruikt om een eerste idee te krijgen van de gegevens, maar ook om kwaliteitscontroles uit te voeren. Ik gebruik ze om te controleren of er geen gegevens verloren zijn gegaan bij de voorbereiding van de gegevens.

Welk ETL-programma moet ik kiezen?

U moet dus de ETL kiezen die het best aan uw specifieke behoeften beantwoordt. Dat is duidelijk. Elke ETL-oplossing heeft zijn eigen specifieke kenmerken en de vergelijkingen die ik hierboven heb gemaakt zijn slechts een van de vele mogelijke verklaringen.

Naast het scala van functies moet ook rekening worden gehouden met de snelheid van de gegevensvoorbereidingsprocessen. Ik heb hier een benchmark van 4 tools uitgevoerd en de verschillen in verwerkingstijd waren aanzienlijk.

Uiteindelijk denk ik dat er 2 essentiële objectieve criteria zijn om rekening mee te houden:

  • functies
  • snelheid

Daarnaast zijn er meer subjectieve aspecten, zoals de productroutekaart van de uitgever en zijn klantgerichtheid. Vanuit dit oogpunt gaat mijn voorkeur duidelijk uit naar Anatella. Het bedrijf erachter is zeer ontvankelijk en aarzelt niet om specifieke oplossingen voor uw behoeften te ontwikkelen. Ik betwijfel of bedrijven als Talend of Alteryx hetzelfde doen.



Posted in Data en IT.

Plaats uw mening

Je e-mailadres zal niet getoond worden. Vereiste velden zijn gemarkeerd met *