Wat is ETL in Datawarehouse?

ETL komt vanuit datawarehousing en staat voor Extract, Transform, Load. ETL in datawarehouseETL dekt het proces van hoe data wordt geladen van een bronsysteem naar een datawarehouse. Een datawarehouse moet regelmatig opnieuw geladen worden, zodat het zijn doel voor business analyse goed kan dienen. Om dit te doen moet de data van een of meerdere operationele systemen onttrokken en gekopieerd worden naar een datawarehouse. De uitdaging in een datawarehouse omgeving is het integreren, herschikken en het consolideren van grotere hoeveelheden van data over verschillende systemen, waarbij een nieuwe, uniforme informatiebasis voor business intelligence ter beschikking gesteld moet worden. De methodologie van ETL bestaat al vele jaren en zijn niet specifiek voor datawarehouse omgevingen.

Extractie van data

Het extractie proces dekt de extractie van data van het bronsysteem en maakt het toegankelijk voor verdere verwerking. Het hoofddoel van de extractie is het ophalen van al de benodigde data van het bronsysteem met zo weinig mogelijk middelen. De extractie moet op zo een manier ontwikkeld worden dat het geen negatief effect heeft op de prestaties, de reactietijd of enige vorm van vergrendeling op het bronsysteem.

Er zijn verschillende manieren om de extractie uit te voeren:

  • Update notificatie: Als het bronsysteem in staat is om een notificatie te verstrekken als een record veranderd is en de verandering kan beschrijven, dan is dit de makkelijkste manier om de data te verkrijgen.
  • Incrementele extractie: Sommige systemen zijn niet in staat om een notificatie te verstrekken als er een aanpassing is geweest, maar zijn wel in staat om te identificeren welke records er zijn aangepast en geven een extractie van zulke records. Gedurende de volgende ETL stappen moet het systeem de veranderingen identificeren en verspreiden. Let op dat bij dagelijkse extractie het mogelijk is dat er niet goed omgegaan wordt met verwijderde records.
  • Volledige extractie: Sommige systemen zijn helemaal niet in staat om te identificeren welke data is veranderd. Dan is een volledige extractie de enige manier om de data uit het systeem te krijgen. Bij een volledige extractie is het van belang dat er een kopie gehouden wordt van de vorige extractie in hetzelfde formaat om zo de veranderingen te identificeren. Een volledige extractie kan wel weer goed omgaan met het verwijderen van data.

Bij het gebruik van incrementele of volledige extractie is de frequentie van de extractie enorm belangrijk. Helemaal voor volledige extractie, aangezien de volumes van data heel erg groot kunnen zijn.

Opschonen van de data

Het opschonen is een belangrijk onderdeel voor de transformatie stap en is het belangrijkste om de kwaliteit van de data in de datawarehouse te kunnen garanderen.

Het opschonen moet basisdata unificatie regels uitvoeren, zoals:

  • Het moet identificaties uniek maken, bijvoorbeeld data over geslacht komt binnen als man/vrouw/onbekend, M/V/null of man/vrouw/niet beschikbaar en moet omgezet worden naar man/vrouw/onbekend.
  • Converteert null waardes naar gestandaardiseerde waardes zoals onbekend of niet beschikbaar.
  • Converteert telefoonnummers en postcodes naar een gestandaardiseerde vorm.
  • Valideert adresvelden en converteerd deze naar de goede benaming.
  • Valideert adresvelden tegen elkaar.

Transformeren van de data

De transformatie stap past een set van regels toe om de brondata te transformeren voor het beoogde doel. Dit bevat het converteren van alle data naar dezelfde dimensie, door gebruik te maken van dezelfde eenheden zodat ze laten samengevoegd kunnen worden. Voor de transformatie is het ook nodig om:

  • Data van verschillende bronnen samen te voegen
  • Het genereren van aggregaten
  • Het genereren van surrogaat sleutels
  • Te sorteren
  • De nieuw berekende waardes afleiden
  • Het toepassen van geavanceerde validatieregels

Laden van de data

Gedurende de laad stap moet er verzekerd worden dat het laden van de data correct is verlopen en met zo weinig mogelijk middelen is gedaan. Het doel van het laadproces is vaak een database. Om het laden zo efficiënt mogelijk te maken is het handig om alle mogelijke beperkingen en indexen uit te schakelen voor het laden en deze pas weer in te schakelen als het laden klaar is. De referentiële integriteit moet door de ETL tool worden gehandhaafd om zo de consistentie te kunnen waarborgen.

Ook interessant?

ETL proces en tooling

ETL proces en tooling

Het ETL proces lijkt heel simpel. Zoals met elke applicatie is er een mogelijkheid dat het ETL proces faalt. Dit ...
Datawarehouse

Wat is een datawarehouse (DWH)?

Een datawarehouse, afgekort DWH, is een database. Het verschil met een gewone database is de architectuur en de opslag van ...
INNER Join uitgelegd

SQL Joins uitleg

Wanneer je als tester gegevens in een Database moet controleren gebruiken we daar in de regel SQL voor. Een krachtige ...
Toets je kennis

SQL voor testers

Deze toets bevat 20 vragen over SQL. De vragen zijn gericht op kennis die voor een tester van belang is ...
Blijf op de hoogte van onze nieuwste ontwikkelingen, schrijf je hier in voor de nieuwsbrief!