Best Practice ETL Architectuur

ETL staat voor Extractie, Transformatie & Laden. In de huidige context van Data Warehousing, wordt deze term best uitgebreid naar E-MPAC-TL or Extract, Monitor, Profile, Analyze, Cleanse, Transform & Load. Met andere woorden : ETL met de nodige focus op data kwaliteit & metadata.

De afbeelding hieronder toont voor iedere component zijn plaats in de totale architectuur.

Best Practice ETL Architectuur

De voornaamste doelstelling van Extractie is de data zo snel mogelijk te laden van het bronsysteem met een zo min mogelijke impact op de bron systemen, hun development team en hun eindgebruikers. Dit impliceert dat het type bronsysteem met zijn karakteristieken – OLTP systeem, OLTP legacy data, meerdere instanties, een eventueel oud Data Warehouse, archieven, vaste & variabele externe data, spreadsheets ... – zoveel mogelijk in rekenschap genomen moet worden. Verder impliceert het ook dat de meeste toepasbare extractie methode gekozen moet worden – bron datum/tijd formaten, databank triggers, databank log tabellen, verschillende delta mechanismen, volledige ten opzichte van incrementele refresh, delta parametrisatie, gecontrolleerd overschrijven van bestaande data, hybride methodes – afhankelijk van de situatie.

Transformatie & Laden van de data gaat over het integreren en beschikbaar stellen van de geintegreerde data in een presentatie-laag, toegankelijk via front-end applciaties voor de eindgebruiker. Hier moet de nadruk liggen op het echt gebruiken van de door de gekozen ETL-applicatie geboden functionaliteit. Er dient over gewaakt dat binnen het ETL er toch niet nog steeds gebruik wordt gemaakt van shortcuts die het gebruik van de ETL-applicatie niet maximaliseren en op termijn leiden tot problemen in onderhoudbaarheid. Ten tweede, in een medium tot grotere data warehouse omgeving is het essentieel om zo veel mogeijk te standardiseren (dus dimensies en feiten te mappen) in plaats van te customiseren per deelonderwerp. Dit zal de doorlooptijd verminderen van de verschillende bron-tot-doel ontwikkel-activiteiten, die typisch het grootste deel uitmaken van de traditionele ETL inspanning. Een bijkomend voordeel is dat in een later stadium dit het genereren van de ETL-scripts gebasseerd op deze gestandardiseerde en voor-gedefinieerde metadata vergemakkelijkt. Ten slotte de verschillende individuele mappings of jobs moeten tot doel hebben herbruikbaar en verstaanbaar te zijn dat resulteert in kleine stukken dewelke gemakkelijk gedebugd of getest kunnen worden voor die bepaalde materie.

Het Monitoren van de data stelt in staat om de in het ETL proces geladen data te controleren. Deze phase heeft twee grote objectieven.

Ten eerste, de data wordt doorgelicht. Hier moet een evenwicht bereikt worden tussen het zo veel mogelijk controleren van de binnenkomende data en het totale ETL proces niet te veel te vertragen. Hier kan een "inside-out" aanpak, zoals beschreven in de Ralph Kimball screening techniek, gebruikt worden. Deze techniek vangt alle onjuistheden, gebaseerd op een voorgedefinieerde set van metadata business regels op en staat rapportering erop toe via een eenvoudig ster schema, en geeft een zicht op de evolutie van de data kwaliteit na verloop van tijd.

Ten tweede dient de performantie van het ETL proces nauwlettend in het oog gehouden worden. Hiertoe dient de correcte operationele metadata voor het ETL proces informatie bijgehouden. Deze metadata informatie omvat onder meer de start– en eind tijden voor ETL–processen over de verschillende stappen van het proces (voor het geheel, per deelphase & voor individuele ETL-mappings/jobs). Het moet ook informatie over de behandelde records bijhouden (aangeboden, ingevoegde, geupdate, genegeerde, gefaalde records ...). Deze metadata laat dan toe vragen over de volledigheid van de data en de performantie van het ETL proces te beantwoorden. Deze metadata informatie kan toegevoegd worden op alle dimensies en feiten-tabellen als zogenaamde audit dimensies en als zodanig eveneens geanalyseerd worden door de BI tools.

Een volgende stap kan er uit bestaan datakwaliteitsprocessen tussen de verschillende stadia te definiëren. Afhankelijk van de specifieke situatie kunnen deze processen de volledigheid van de data-waarden controleren. Ze kunnen helpen te controleren of we -tussen de verschillende ETL stadia- nog altijd hetzelfde aantal records of totalen van bepaalde meetwaarden hebben. Natuurlijk moet deze informatie ook als metadata gecapteerd worden. Tot slot moet de herkomst van de gegevens ("data lineage") te controleren zijn doorheen het volledige ETL proces, inclusief voor de geproduceerde foutieve records. Hiertoe dienen eenduidige verwijzingen naar de bronsystemen of het orginele interface bestand bijgehouden. Bestandsnamen, lijnnummers, business keys, bronsysteem identificaties etc. dienden opgeslagen en beschikbaar in de front-end BI applicaties om zo de eindgebruikers vertrouwen te geven in de correctheid en volledigheid van de informatie.

Naast de operationele metadata is het essentieel dat het metadata data model behoorlijk geïntegreerd is met de "source to target" detail informatie. Daarnaast dienen ook andere geassocieerde karakteristieken zoals ‘slowly changing' dimensies of berekeningen voor afgeleide meetwaarden worden bijgehouden.

Data profilering wordt gebruikt om statistieken te genereren over de bronnen en brondata, teneinde deze te ‘begrijpen'. Data profilering maakt gebruik van analytische technieken om de inhoud, structuur en kwaliteit van data in kaart te brengen. te begrijpen. De data patronen & formaten van de velden worden ontcijferd en gevalideerd. Overbodige en foute data wordt geidentificeerd en gevalideerd. Het is belangrijk de juiste tools in te schakelen om dit proces te automatiseren, gezien de typische volumes en diversiteit van data.

Data Analyse zal de resultaten van de geprofileerde data verder analyseren. Op deze manier is het makkelijker om data kwaliteitsproblemen te identificeren zoals ontbrekende gegevens, ongeldige gegevens, inconsistente gegevens, overbodige gegevens, problemen met business rules, parent / child problemen en dubbels. Het is belangrijk om de resultaten van deze analyse goed op te volgen en te documenteren, daar dit communicatie zal vergen tussen de teams verantwoordelijk voor de bronsystemen en het data warehouse team voor het oplossen van de ontdekte problemen. De eerder vernoemde transformatie activiteiten zullen ook baat hebben bij deze analyse en er kunnen mee rekening houden bij het opzetten van de ETL. Het is duidelijk dat de benodigde bron-naar-doel mapping activiteiten in hoge mate afhangen van de kwaliteit van de bron analyse. Correcties rond data-kwaliteit vinden bovendien best plaats in de bronsystemen. 

Binnen de bronanalyse dient de focus niet alleen op de brondatabestanden te liggen, maar ook op hun bredere omgeving. Er dient ook aandacht besteed aan : het bekomen van de juiste bron documentatie, de toekomstige roadmap van de bron applicaties, een inzicht krijgen in de huidige (gegevens) problemen van de bron en hun achterliggende redenen, de overeenkomstige data modellen (E/R diagrammen), de bestanden waarin de meta data wordt opgeslagen en het bekomen van inzicht in het data model evenals de business regels geimplementeerd in de bronsystemen. Ten slotte is het cruciaal om op regelmatige basis overleg te organiseren met de bron-eigenaars om op deze manier wijzigingen hieraan vroegtijdig te detecteren, gezien deze een impact kunnen hebben op het data warehouse en de ETL processen die daarmee in verband staan.

Tot slot, kunnen binnen Data Cleansing de gevonden fouten opgelost worden, gebaseerd op een voorgedefinieerde set van metadata regels. Hier moet een onderscheid gemaakt worden tussen volledig of gedeeltelijke afwijzigng van het record en een manuele correctie mogelijk maken. Mogelijks kan de data gecorrigeerd of vervolledigd worden door bvb. de niet correcte data velden te corrigeren of een data formaat aan te passen.

E-MPAC-TL is dus een uitgebreid ETL concept dat probeert op de juiste wijze evenwicht te vinden tussen de behoeften vanuit Business Intelligence standpunt en de realiteit van de bestaande bronsystemen, applicaties, metadata, technische kwesties & beperkingen en boven alles de data (kwaliteit) zelf.

Contacteer ons gerust voor meer informatie over een Best Practise ETL Architectuur gebaseerd op een E-MPAC-TL model !