Wat is ETL?

ETL staat voor Extract Transform Load. Dat is het proces waarbij je ruwe data uit een bronsysteem haalt, die data transformeert en vervolgens oplaadt naar je doelsysteem. Onder transform vallen bijvoorbeeld het uniformiseren, opruimen, integreren en organiseren van je data.

Afhankelijk van je bedoeling en de schaal of omvang van je data, maak je een keuze tussen het coderen van je ETL of een ETL-tool te gebruiken. Om ETL-code te schrijven, heb je uiteraard specifieke kennis nodig. Doordat je de tool programmeert, kan je de code eenvoudiger schalen en operationaliseren, wat een groot voordeel is. Een ETL-tool is dan weer makkelijk in gebruik en bij sommige tools kan je rechtstreeks verbinding maken met je bron- en targetsysteem.

Zelf zijn we voorstander van het schrijven van code in combinatie met het gebruik van een framework. Daarmee sla je twee vliegen in een klap: je hoeft niet volledig van nul te beginnen én je geniet van de flexibiliteit van zelf coderen.

Het verschil met Reverse ETL

Bij Reverse ETL (Omgekeerde Extract Transform Load) doe je net het tegenovergestelde dan bij ETL (de bewerkte data gaan van je bronsysteem naar je targetsysteem) en laad je de bewerkte data terug van je targetsysteem naar het bronsysteem.

Hoe werkt ETL?

Kort gezegd is ETL een manier om data te transporteren tussen verschillende tools, applicaties of systemen. Heel wat bedrijven werken met aparte systemen voor elke afdeling. Met ETL breng je die verschillende systemen met elkaar in verbinding en bewegen jouw data zich tussen die systemen. Zo levert ETL je veel nieuwe inzichten op, kan je verbanden leggen en optimalisaties doorvoeren.

Hoe ETL en de transformaties precies werken, zie je in deze video.

ETL doorloopt dus verschillende stadia: Extract, Transfer en Load. We overlopen ze een voor een.

Extract

De eerste stap in het ETL-proces is het ophalen van je data uit een bronsysteem. Afhankelijk van je context haal je je data op uit een andere tool. In een marketingomgeving kan bijvoorbeeld Google Analytics je bronsysteem zijn om het gedrag van je websitebezoekers te onderzoeken en je website of webshop aan te passen. Of je neemt je CRM- of ERP-systeem als bron om het inzicht in je business te vergroten.

Extract is een belangrijke stap. Hoe beter je de beschikbare data in kaart brengt en ophaalt, hoe nauwkeuriger het zicht op jouw gegevens en hoe meer die jou vertellen. Heb je verschillende bronnen? Zorg er dan voor dat je alle data in deze fase samenbrengt.

Transform

Zodra je jouw data hebt verzameld, ga je over naar stap 2: transform. Data bestaat in verschillende vormen. Om tools of systemen met elkaar te verbinden moet alles uniform zijn. Daarom giet je in de transformfase alle data in dezelfde vorm.

Voorbeelden van Transformatie in ETL

Data cleanen: Ruim je data op. Check het gebruik van kleine letters of hoofdletters (Brussel of BRUSSEL), afkortingen of volledige woorden (M of Man), een komma of een punt (bijv. 4.68 of 4,68). Zorg ervoor data dit overal gelijk is.

Uniformiseren: Zet alle data om naar hetzelfde (en correcte) formaat. Zorg ervoor dat alle datum- en tijdvelden identiek zijn ingevuld (bijv. 12/06/2022 of 2022-06-12 voor datums, en 12- of 24-uurs tijdsaanduiding, met of zonder seconden.)

Organiseren: Bekijk welke data je kunt samenvoegen, zoals bijv. online en offline omzet, of omzet inclusief of exclusief btw.

Load

Heb je alle data opgeruimd en verwerkt, ingeladen en getransformeerd? Dan neem je de laatste stap en importeer je je data in je doelsysteem. Je data is nu volledig en correct getransporteerd tussen twee of meer systemen.

ETL wordt het vaakst toegepast om data uit te sturen naar een data warehouse, BI tool of rapporteringstool. Daarmee kan je rapporten en analyses opstellen of bewaar je je data veilig in een archief. De toepassingen zijn oneindig.

De constante in heel dit verhaal is dat iedere tool en elk systeem data op zijn eigen manier verwerkt. Met ETL vorm je data om en maak je ze uniform zodat onafhankelijke systemen – via deze tussenstap – toch met elkaar kunnen communiceren.

De voordelen en nadelen van ETL

Voordelen van ETL

Compliance
Om zeker te zijn dat gevoelige gegevens niet lekken, kan je ervoor kiezen om die data uit de extract fase weg te laten en ze enkel in je oorspronkelijke systeem te bewaren.

Snel naar analyse fase
Omdat je nu voor alle gegevens een uniforme opmaak hanteert, verloopt de analyse van je data merkbaar sneller.

Flexibiliteit van omgeving
Na ETL speelt de omgeving geen rol meer. Je kan je data eenvoudig extraheren, transformeren en weer inladen in een ander systeem, op eender welk moment.

Nadelen van ETL

Snelheid
In tegenstelling tot ELT, waarbij je je data vóór de transform stap oplaadt, moet je bij ETL je data eerst verwerken alvorens je die kan opladen in je target systeem.

Rigide set-up
Eens je je transformatiestappen hebt opgezet, ben je er klaar voor. Maar zodra er iets wijzigt in je target systeem, moet je alle stappen opnieuw doorlopen. Je hebt dus veel manueel werk, zelfs bij de kleinste wijzigingen.

Data hoeveelheid
Net omdat je data eerst moet transformeren, is ETL niet geschikt voor zeer grote hoeveelheden data (big data). Dat vraagt te veel tijd en resources.

Complexiteit
Het ETL proces lijkt op het eerste gezicht eenvoudig: Extract, Transform, Load en klaar. In de praktijk is het complexer dan dat. Het is moeilijk om het overzicht te behouden bij het samenbrengen en converteren van al die data. Focus bewaren en werken met ervaren ETL developers is de boodschap.

De beste ETL tools

Het aanbod ETL-tools is groot. Welke tool het beste geschikt voor jouw specifieke case is, hangt af van jouw noden en verwachtingen en de grootte van je project. Bovendien kan je, in plaats van een bestaande tool, ook opteren voor een ETL tool op maat.

We zien een algemene tendens naar tools die zich richten op 1 onderdeel van ETL. Denk aan 1 tool die Extract en Load op zich neemt. De transform stap wordt dan uitgevoerd met een andere tool.

Om sneller en efficiënter te werken is een connector based extract tool de juiste keuze. Zo zet je de aangeleverde connectoren maximaal in en vermijd je dat er code geschreven moet worden voor elke bron applicatie.

Hier alvast onze favoriete ETL tools:

Heb je hulp nodig bij het maken van je keuze? Of wil je meer informatie over ETL?

Neem contact met ons op. Onze ETL-experts  helpen je graag verder.

Het ETL proces, hoe begin je er aan?

1)     Concretiseer je business behoefte

Omschrijf klaar en duidelijk waar je naartoe wilt en welke gegevens je daarvoor nodig hebt zodat je meteen de juiste data verzamelt.

2)     Inventariseer je data

Maak een overzicht van al je beschikbare data. Vermeld hierbij waar ze zijn opgeslagen en hoe je ze kunt exporteren of aanspreken.

3)     Kies je ETL tool

Zodra je je data hebt geïnventariseerd, kies je een ETL tool. Het belangrijkste uitgangspunt voor je keuze is je business behoefte die je bij stap één in kaart hebt gebracht.

Heb je moeite met het kiezen van de juiste tool of heb je nood aan een ETL tool op maat? Neem contact met ons op, we helpen je er graag bij.

4)     Bepaal je resources

Welke kennis en hoeveel mensen heb je nodig voor jouw project? Een belangrijke parameter om dat te bepalen is de updatesnelheid. Moeten jouw data elk uur, iedere dag of een keer per week verwerkt worden? Zijn er complexe berekeningen mee gemoeid of is het eerder een kwestie van opschonen? De antwoorden op die vragen helpen je bij de concrete planning.

Ontbreekt bepaalde kennis in jouw team of kan je niet voldoende resources vrijmaken voor jouw project? JUVO helpt je er graag bij. Neem contact met ons op.

5)     Stel je doelen

Weet wat je wil bereiken als je je data verplaatst van je bronsysteem naar je targetsysteem. Houd iedere handeling nauwkeurig bij in een overzicht, zo voorkom je dat er onderweg data verloren gaan.

6)     Start je ETL proces

Voorbereiding is key. Zodra je weet waar je naartoe wil, welke data beschikbaar zijn en je een ETL tool hebt gekozen, kan je jouw ETL proces starten. Het is een arbeidsintensief proces en een doordachte voorbereiding is cruciaal om tijdsverspilling te voorkomen.

ETL & Data engineering

Het is heel leuk om data te verwerken en over te zetten van systeem A naar systeem B. Maar het wordt natuurlijk pas echt interessant als je er ook daadwerkelijk iets mee doet (lees: als het opbrengt).

Daarom voegen we graag de A van Analyseren toe aan ETL. Zo kan je, zodra je data in je target systeem zit, er ook effectief mee aan de slag. En dat is exact wat data engineering doet. Data engineering stelt je in staat om data te verzamelen en te verwerken in functie van de analyse en optimalisering van je business.

ETL is dus een belangrijke stap om die analyses en verbeteringen via data engineering mogelijk te maken.

Werk je met big data? Dan is ELT wellicht interessanter voor jou.

ETL: een cruciale stap in BI

Bij Data Engineering bewerk je data om er analyses mee te maken. Daarna kan je nog een stap verder gaan en inzetten op business intelligence. BI trekt lessen uit de analyse ready data om je processen, structuren en dus je bedrijf naar een hoger niveau te tillen.