Datacontroles: Taak van de bron of van het datawarehouse?

Bij het bouwen van een datawarehouse krijg je te maken met bronsystemen waar de data vandaan moet komen. En in vrijwel elk datawarehouse worden regels opgenomen om fouten uit deze systemen te corrigeren. En dat zou eigenlijk niet nodig moeten zijn. Of toch wel?

Bronsystemen zijn vaak operationele systemen, waar dagelijks mee gewerkt moet worden. Als een kassasysteem 2 minuten bezig is per gescand artikel om hier allerlei controles op uit te voeren is dat uiteraard niet acceptabel. Mede om die reden is er vaak voor gekozen slechts minimale controles uit te voeren binnen bronsystemen. In een kassasysteem is het vaak voldoende om te controleren of het artikel wel in het bestand voor komt en om de verkoopprijs op te halen.

Het wordt een ander verhaal als er een plansysteem is om de meest efficiënte belading voor vrachtwagens te berekenen. Als de afmetingen van de verpakking foutief zijn vastgelegd in het artikelbestand kan er een vreemd advies uitrollen. Een oplegger laden met 1 doos is niet bepaald efficiënt, maar als de afmetingen van de doos in meters zijn vastgelegd is het wel te verklaren.

Controles in de bronsystemen zijn dus eigenlijk een must. Maar welke controles moet je daar dan uitvoeren zonder die lange wachttijden aan de kassa te creëren? Over het algemeen is het aanpassen van bronsystemen een kostbaar en langdurig traject. Welke controles zijn echt noodzakelijk zijn voor je operatie? En welke controles hebben meer betrekking op je proces en kwaliteit van je data? Controles van de laatste categorie kun je in je laadprocessen van je datawarehouse bouwen. En daar zijn dan belangrijke keuzes te maken: op welk moment moeten de controles plaats vinden? Stelregel is: zo vroeg mogelijk in het traject.
Bovendien: wat moet er gebeuren wanneer er een afwijking wordt geconstateerd? Mag het bestand gewoon geladen worden? Moet het hele proces stoppen? Wordt het record uit het bestand gehaald en mag de rest gewoon geladen worden?

Leg controle-regels vast in de metadata, zodat ze slechts één keer gedefinieerd hoeven worden en meerdere keren gebruikt kunnen worden binnen de laadprocessen van het datawarehouse. Leg ook de controleresultaten vast, zodat er benodigde acties uitgezet kunnen worden. De afmetingen van die ene doos moeten natuurlijk nog wel gecorrigeerd worden in de bron.

Michiel Bergman