Home
begroting

Gegevensconversie de structuur van het conversiesysteem

Om een gegevensconversie (datamigratie) beheersbaar op te zetten moet rekening worden gehouden met de feitelijke 2-deling in problemen van de gegevensconversie:

● Het probleem van de onbekende kwaliteit van de gegevens (de verhouding tussen de inhoud van het systeem en de beschikbare beschrijving)

● Het probleem van de omzetting van de gegevens van de oude naar de nieuwe structuur

 

Een flexibel (en met goede doorlooptijden draaiend) conversiesysteem wordt altijd als sequentieel batchproces opgezet.

Dit sequentiŽle proces krijgt als invoer (complete) downloads van bestanden die in de conversie een rol spelen. Het maken van de downloads wordt op tabel (resp. bestandsniveau) geregeld. Downloads worden niet gemaakt volgens het datamodel (van boven naar beneden), maar tabellen/bestanden worden rechttoe recht aan 'plat geslagen (het equivalent van select * from...)'. Eventuele selectie van relevante gegevens vindt in de conversie plaats.

 

Om te voorkomen, dat gegevens van onbekende kwaliteit aan het omzettingsproces worden aangeboden, zal het eerste deel van het conversiesysteem bestaan uit een kwaliteitsfilter. Dit filter laat alleen gegevens van bekende en goede kwaliteit door. In principe worden alleen complete sets gegevens doorgelaten. Een voorbeeld: indien er bij een klant een orderregel fouten bevat dan wordt de orderregel niet wordt doorgelaten; daarmee wordt echter de order (het daarboven liggende niveau in het datamodel) incompleet, waardoor die ook niet wordt doorgelaten. Vervolgens is hierdoor het beeld van de klant incompleet, waardoor de klant (met alles wat daaronder 'hangt' in het datamodel) niet wordt doorgelaten.

Dit mechanisme leidt in eerste instantie altijd tot massale uitval van gegevens. De werkwijze rond de conversie is er vervolgens op gericht, om zo snel mogelijk te zorgen, dat de uitval tot acceptabele proporties wordt gereduceerd.

Dit wordt gerealiseerd door keer op keer de specificaties van de programmatuur bij te stellen. Tegelijkertijd kunnen echter de conversieregels mee aangepast worden, waardoor ook de in eerste instantie niet voorziene situaties goed kunnen worden geconverteerd.

 

Het voordeel van deze werkwijze is, dat er wel kan worden doorgegaan met het ontwikkelen van de feitelijke conversie, die gegevens zal converteren van goede kwaliteit (hoe weinig dan ook).

 

Bij aanvang van het conversietraject zal vaak grote onduidelijkheid zijn over de (gedeeltelijk nog uit te werken) regels die gelden in het nieuwe systeem. Daarom is het maken van een exacte selectie van te converteren gegevens veelal een hachelijke zaak. Wel is vaak op zeer korte termijn helder te krijgen, welke bestanden tijdens de conversie in elk geval leverancier van gegevens zullen zijn. Hier ligt dan ook het selectiecriterium voor dat wat wel en dat wat niet in de conversie zal worden ingelezen. Met andere woorden: een bestand doet voor de conversie in zijn geheel wel of in zijn geheel niet mee. Door deze keuze te maken, is het slechts 1 keer nodig om de beheerder van het bronsysteem een download mechanisme te laten maken. Selectie van velden die wel/niet een rol spelen in de conversie vindt plaats in het conversiesysteem.

 

Het verdient aanbeveling zaken als velddefinities (vooral typering van velden, numeriek, niet numeriek, codeveld of niet, verplicht of niet), toegestane waarde bereiken en dergelijke van buitenaf stuurbaar te maken, waardoor wijziging in specificaties niet noodzakelijkerwijze leidt tot aanpassing van de programmatuur.

 

De tweedeling van de conversie in de 2 onderdelen kwaliteitsborging en conversie leidt tot de volgende basisstructuur van de conversie (of afgeleiden daarvan):

 

Wat hiermee ontstaat is een zandlopervorm. In de zandlopervorm wordt de kwaliteit van de gegevens stap voor stap beter. Vlak voor de hals van de zandloper worden de dan inmiddels betrouwbare gegevens per groep (bijvoorbeeld klant) bij elkaar in een multiple record-type bestand gezet vervolgens worden in de feitelijke conversie de gegevens per groep ingelezen, om naar het nieuwe datamodel te worden omgezet.

Selectie van wel/niet te converteren groepen gegevens vindt plaats in het samenvoegen/uitdunnen proces.