2
Een belangrijke pijler voor een goede BI-oplossing is een correcte inrichting van de ETL processen. ETL staat voor Extract, Transform en Load en symboliseert de weg van Extractie van data bij bronsystemen tot laden van data in de uiteindelijke datamodellen (of bij grotere systemen: Het datawarehouse). Een van de belangrijkste aspecten bij ETL is de volgorde waarin en het moment waarop de processen worden uitgevoerd.

We noemen dat ‘de workflow’. Sommige processen mogen bijvoorbeeld pas worden uitgevoerd wanneer aan een specifieke conditie voldaan is, waar andere processen op vaste momenten moeten worden uitgevoerd. Denk daarbij bijvoorbeeld aan een proces dat pas gestart mag worden wanneer er data door een externe partij geleverd is. Of denk aan een proces dat elke eerste zondag van de maand de gegevens van de afgelopen maand moet analyseren.

Het uitvoeren van deze processen kan op allerlei manieren ingericht worden. Via de taakplanner van het besturingssysteem (bijvoorbeeld de Windows Taakplanner of Cron onder Linux) kunnen op gezette momenten scripts uitgevoerd worden die op hun beurt bepalen of een bepaald proces wel of niet uitgevoerd mag worden. Het nadeel van deze werkwijze is dat deze processen zelf veelal in scripttalen (bijvoorbeeld in PHP) afgehandeld worden en dat er een zekere technische (programmeer)kennis nodig is om de workflow te kunnen lezen. Daarnaast mist er een uniforme foutafhandeling over alle scripts die binnen de organisatie actief zijn.

Dimensional Insight heeft speciaal om deze problemen op te lossen een besturingssysteem-onafhankelijke tool ontwikkeld: DI-Production. DI-Production is onderdeel van de Diver Solution en ondersteunt het visueel ontwerpen, beheren, documenteren en inplannen van Business Intelligence processen.

Een DI-Production script bestaat uit meerdere blokken die na elkaar maar ook tegelijkertijd uitgevoerd kunnen worden. Een blok kan een systeem commando uitvoeren (bestanden kopiëren of verwijderen), een ander script aan roepen, meerdere processen tegelijktijdig starten of een vervolgstap kiezen op basis van een bepaalde conditie. Daarnaast is er op verschillende niveaus fout-afhandeling mogelijk door bijvoorbeeld een e-mail te sturen of een ander proces te starten.

  di_production_flow
Figuur 1: Visualisatie van stappen in het proces

Zoals in het screenshot hieronder te zien is kan een DI-Production script zo ingepland worden dat het elke eerste zondag van de maand uitgevoerd wordt. Ook biedt DI-Production de mogelijkheid om van alle reeds uitgevoerde scripts de status en logs te bekijken. Hiermee wordt inzichtelijk bij welke stappen van het proces er fouten zijn geconstateerd, maar ook welke keuzes er zijn gemaakt door het script. De gearchiveerde resultaten laten per blok de status zien, de tijdsduur en specifieke logs om fouten te kunnen herleiden. Zo kan, met een paar kliks, snel en eenvoudig een eenduidig overzicht worden gecreëerd van de fouthistorie. Dat zorgt er, alles tezamen, voor dat we u, als klant, nog beter en sneller kunnen helpen.

di_production_scheduler
Figuur 2: Maandelijks een DI-Production script uitvoeren

Bent u een technische gebruiker van de Diver Solution en wilt u aan de slag met DI-Production? In de loop van 2015 starten we met een nieuwe (voor klanten en partners kosteloze) trainingsserie waarin we ook DI-Production behandelen. Houdt de website in de gaten voor updates.

 

production_script_failed
Figuur 3: Visualisatie van geslaagde en niet geslaagde stappen: Klikken op een stap opent de logs.