ETL
ETL is de afkorting voor Extraction, Transformation and Load. De term ETL staat voor een groep technologieën die veelal gebruikt worden bij de koppeling tussen systemen, waarbij er gestreefd wordt naar een minimale technische en semantische koppeling tussen de systemen. Het is een batchproces dat regelmatig gebruikt wordt.
- Extract = leest data van een bron en pakt het gewenste pakket uit
- Transform = Zet opgenomen data om, gebruik makende van regels, opzoektabellen of maakt combinaties van data van verschillende bronnen
- Load = schrijft de data naar een gewenst doel
Inhoud |
[bewerken] Opbouw van ETL
Naargelang de opbouw in de naam van ETL, bestaat het uit drie processen: extract, transform en load. Deze processen gaan als volgt te werk:
[bewerken] Extract
Het eerste deel van een ETL-proces haalt de data uit de bronsystemen. De meeste datawarehousingprojecten gebruiken data van verschillende bronsystemen en elk apart systeem kan ook een verschillend formaat/dataorganisatie gebruiken. Gebruikelijke databronformaten zijn relationele databases en flat files, maar kunnen ook niet-relationele databasesystemen gebruiken zoals IMS en andere datastructuren zoals VSAM en ISAM. Extraheren vormt de data om naar een formaat voor het proces van transformatie. Een intrinsiek deel van de extractie is het ontleden van de geëxtraheerde data, wat in een controle resulteert of de data een verwacht patroon of structuur beantwoordt. Deze controle houdt vooral in of die kwalitatief is en geen onregelmatigheden bevat. Indien dit niet het geval is, wordt de data volledig niet toegelaten. Dit wordt ook wel eens het opschonen van data genoemd.
[bewerken] Transform
Het omvormen van data past een serie van regels of functies toe op de geëxtraheerde data van de bron om de data af te leiden om geladen te worden naar het einddoel. Sommige databronnen zullen heel weinig of zelfs geen manipulatie nodig hebben. In andere gevallen zal er één of meer transformatie types toegepast moeten worden om aan de zakelijke en technische benodigdheden van het einddoel te beantwoorden:
- Enkel sommige kolommen selecteren om te laden
- Gecodeerde waarden vertalen (bv. het bronsysteem gebruikt andere waarden dan het warehouse voor bepaalde delen )dit gebeurt automatisch
- vrije vormen van data coderen ( bv. waarde "Mannelijk" naar a en "Meneer" naar b mappen)
- een nieuwe berekende waarde afleiden, dit is een waarde die bestaat uit een bewerking en twee bekende variabelen, maar het warehouse kent deze nieuwe waarde niet
- data van verschillende bronsystemen samenvoegen
- verschillende rijen samenvatten naar één rij
- kolommen splitsen in verschillende kolommen
- Enige vorm van complexe datavalidatie toepassen
- transponeren of pivoteren van data
[bewerken] Load
De laatste fase laadt de data in het einddoel (meestal de datawarehouse). Naargelang de eisen van de organisatie, kan dit proces ver gaan. Sommige datawarehouses kunnen elke week bestaande informatie overschrijven met aangepaste, bijgewerkte data, terwijl andere datawarehouses nieuwe data in een tijdstabel-vorm toevoegen (bv. elke minuut). De timing voor de data te vervangen zijn strategisch gekozen momenten, die vooral gebaseerd zijn op de benodigdheden van de firma. Meer complexe systemen kunnen een geschiedenis bijhouden en een spoor auditten van alle veranderingen van de data, die geladen was in het datawarehouse.
[bewerken] Gebruik
- Data-uitwisseling :
- Data is gestuurd van het ene systeem naar het andere en vice versa. Dit kan gebeuren bij grote ERP-systemen , waar een verkoop binnenkomt en waar de data die bewerkt moet worden, naar de bron doorgestuurd wordt. Deze bron bewerkt deze data en stuurt die terug naar het eerste systeem (met een update).
- System Migration & Legacy Conversion:
Data wordt gestuurd van het ene systeem naar het andere
- Eenmalig proces
- Hoge complexiteit
Dit is vooral voor oude batchsystemen om te vormen en andere systemen in het warehouse te implementeren
- Upgraden van infrastructuur:
- Datastructuur wordt veranderd
- terug migreren van data is een eenmalig proces
- Instantieconsultatie :
- Reduceert ICT-complexiteit door de aantallen te reduceren van de systemen en platforms
- Eenmalig proces
- Hoge complexiteit