ONZE ERVARING MET EEN DATAWAREHOUSE

In een land hier ver vandaan waren er eens twee functioneel beheerders. En in dat land, ver ver hier vandaan, waren de functioneel beheerders altijd op pad. In hun tochten, door het bos, over de vlakte en over de heide, kwamen zij een datawarehouse tegen. Die functioneel beheerders wisten veel, maar niet wat een datawarehouse was. 
Avontuurlijk als de functioneel beheerders waren, gingen zij er toch mee aan de slag. Benieuwd wat ze overkomen is? Lees hier dan verder! 

WAT IS EEN DATAWAREHOUSE?

Omdat die beheerders ook niet wisten wat een datawarehouse was, een korte uitleg van een datawarehouse. Een datawarehouse is een onderwerp-georiënteerde, geïntegreerde, tijdsafhankelijke gegevensverzameling die aan de basis ligt van managementbeslissingen. In een datawarehouse-systeem wordt informatie uit allerlei toepassingen van een organisatie opgeslagen: vanuit een ERP-systeem, boekhouding, of vanuit HRDe gegevens ontstaan dus niet in het datawarehouse zelf. Ze kunnen ook niet in het datawarehouse bewerkt worden. Wel kunnen gegevens met elkaar gecombineerd worden waardoor er nieuwe informatie ontstaat.  

Een datawarehouse zou een antwoord kunnen geven op de vraag “Is de productiviteit hoger wanneer werknemers bepaalde werkervaring hebben?” Door deze informatie in rapportages snel beschikbaar te maken kan een organisatie zelf bekijken hoe ze presteert en indien nodig kan het proces worden bijgestuurd. 

Een datawarehouse verzamelt gegevens en transformeert deze tot een ander eindproduct. Om dit te kunnen doen is een datawarehouse ingericht in meerdere functionele lagen:

Het interessante zit hem in de onafhankelijkheid tussen deze lagen en wat iedere laag doet. In deze lagen worden business rules of business logica toegepast zodat de data uiteindelijk in een nieuwe en consumeerbare vorm gepresenteerd kan worden.  Achter de vraag “Is de productiviteit hoger wanneer werknemers bepaalde werkervaring hebben?”, zouden de volgende twee business rules kunnen zitten, namelijk: 

  1. Hoge productiviteit wordt getypeerd als eebestelling binnen 1 uur is afgehandeld. (uit ERP). 
  1. Iemand heeft ervaring wanneer in het HR-systeem is vastgelegd dat iemand voldoende scoort op de competentie Bestelling afhandelen”. 

Enkele lagen in het model zijn fysiek en dus zichtbaar, zoals de connectie- of staginglaag. Andere lagenwaaronder de DWH-laagzijn abstract en zijn daardoor best complex.  Ter illustratie:  Gegevens uit het ERP en van HR zijn in staging nog terug te zien. In de DWH-laag worden deze gegevens gebruikt om de vraag Is de productiviteit hoger wanneer werknemers bepaalde werkervaring hebben?” te beantwoorden. Hoe dit dan precies in de DWH-laag berekend wordt, is niet in een keer te zien. 

WAARVOOR GEBRUIK JE EEN DATAWAREHOUSE?

Datawarehouses zijn ondersteunende systemen en zijn niet bedoeld om ingezet te worden in een bedrijfsproces. Ze zijn bedoeld om ingezet te worden ter ondersteuning om het bedrijfsproces te sturen of bij te sturen.  Omdat een datawarehouse bedoeld is als een niet-bedrijfskritisch systeem, zou het kunnen voorkomen dat de er fouten zitten in de ingevoerde data. Dat zou geen probleem moeten zijn, tenzij…. 

De casus 

De twee functioneel beheerders die aan het begin van dit verhaal op pad waren, zijn twee collega-functioneel beheerders. Wij, de twee functioneel beheerders, hebben gezamenlijk een datawarehouse beheerd wat toch werd ingezet als een kritisch systeem in een facturatieproces. In deze casus werd productiedata gecombineerd met prijsafspraken zodat het datawarehouse een factuur kon genereren. De problemen treden op wanneer de medewerkers van de afdeling Financiën de prijsafspraken op een andere manier invoeren dan gewenst. Om dit op te lossen werd de data handmatig in het datawarehouse gecorrigeerd zodat de factuur nu wel goed werd gemaakt.  Het corrigeren bleef niet zonder consequenties. Wanneer er in de toekomst opnieuw een correctie of uitzondering wordt gemaakt, brachten die eerder gemaakte uitzonderingen problemen met zich mee.  

In deze casus hebben wij, de functioneel beheerders, drie lessen gevonden die we met jullie we met jullie willen delen.  

Leerpunt 1 – documentatie, documenteren en documenten 

Je wilt goede documentatie hebben over wat je beheert. Je wil niet alleen functionele documentatie hebben, maar ook documentatie over de data zelf. Je zou het volgende kunnen documenteren: 

  1. Hoe gegevens ingevoerd moeten worden 
  2. Welke transformaties er gedaan worden 
  3. Hoe de gegevens gepresenteerd worden 

Hier worden vaak een data glossary en een data dictionary voor gebruikt. In deze documenten wordt omschreven wat ieder veld of gegeven betekent en wordt beschreven welke query’s en selecties er in het datawarehouse worden toegepast. Het helpt je bij het traceren van problemen en helpt je bij het beoordelen of de output/ van het datawarehouse juist is. Daarnaast maakt deze documentatie het makkelijker om je datawarehouse op nieuwe bronnen of bronsystemen aan te sluiten.
 

 Leerpunt 2 – inprikken op de verschillende lagen in het systeem 

Gegevens in een datawarehouse lopen door meerdere lagen en worden meerdere keren getransformeerd. Om te kunnen controleren of het datawarehouse goed functioneert en om problemen op te sporen, is het noodzakelijk om te kunnen volgen wat er in een datawarehouse gebeurt. Dat inprikken op het systeem en kunnen traceren van de data kan op twee manieren gedaan worden: 

  1. Met backward data lineage. Hiermee kan je een eindproduct van het datawarehouse (bijvoorbeeld een rapportage) herleiden naar een bron. Hier kunnen query’s, rapportages of analysetools voor gebruikt worden. 
  1. Met forward data lineage. Hiermee kan je onderzoeken of alle brongegevens terecht komen in de eindproducten van het datawarehouse. Forward data lineage kan je doen met volumecontroles die per functionele laag inricht zijn. Je kan dan zien of het aantal orders (bijvoorbeeld) uit het ERP overeenkomen met het aantal orders die getoond worden in de rapportage van het datawarehouse. 

Data lineage, in beide vormen, is een vereiste om de werking van een datawarehouse in de gaten te kunnen houden en om in actie te kunnen komen wanneer het misgaat.  

 
Leerpunt 3 – weet waarvoor je het gebruikt! 

Wanneer we terugkijken, hebben we geleerd dat er in deze situatie geen datawarehouse gebruikt had moeten worden. Een datawarehouse is bedoeld als een bron voor informatie om processen te sturen. Nu werd het gebruikt als een belangrijk onderdeel in een facturatieproces. 

Een facturatieproces is gebaat bij een standaard set aan data die van hoge kwaliteit moet zijn. Een systeem dat gebruikt wordt in een facturatieproces hoeft niet snel te zijn, als het maar secuur werkt. Daar waar een datawarehouse goed in is, namelijk snel kunnen combineren van veel gegevens die niet op elkaar lijken, zijn twee dingen die niet nodig zijn in een facturatieproces.  Wij hebben het datawarehouse aangepast om het facturatieproces goed te laten verlopen. Met deze aanpassingen hebben we het oorspronkelijke doel van een datawarehouse losgelaten.  

EN ZE LEEFDE NOG LANG...

De conclusie 
Met deze drie leerpunten komt ons avontuur, het duo functioneel beheerders, tot zijn einde. Wij hebben geleerd dat het hebben van goede documentatie, het kunnen analyseren van een systeem en weten waarvoor een systeem gebruikt zou moeten worden erg belangrijk is. 

Het uitvoeren van functioneel beheer van een datawarehouse zou een goede ontwikkeling kunnen zijn in je vak als functioneel beheerder. Gaandeweg leer je zoveel nieuws en krijg je nieuwe ideeën die je weer mee kan nemen in je verdere loopbaan. Het kunnen waarderen van goede documentatie, het goed kunnen analyseren van een systeem en het concept van een systeem kunnen begrijpen, zijn toch skills verdraaid goed van pas komen in je tochten, door het bos, over de vlakte en over de heide?