Door Chiel Harmsen
In een datamigratie spelen vertaaltabellen een belangrijke rol. Daarom is het belangrijk om deze binnen het project goed te organiseren en te documenteren. Dat draagt enorm bij aan de transparantie en controleerbaarheid van de datamigratie. Vertaaltabellen moeten worden afgestemd met de key users, de consultants die de inrichting van het nieuwe systeem verzorgen en met de mensen die de mappingen en transformatieregels opstellen. Iedereen die wil weten hoe de datamigratie precies in zijn werk gaat zal de vertaaltabellen moeten kunnen raadplegen. Denk bijvoorbeeld aan auditors maar ook aan diverse partijen waarmee het nieuwe systeem informatie uitwisselt. Wijzigingen in coderingssystematiek kan immers ook voor die partijen gevolgen hebben. Goed beheer van de vertaaltabellen maakt die communicatie een stuk makkelijker.
Hieronder staan we stil bij de essentie van vertaaltabellen en presenteren we een metamodel dat als basis kan dienen voor de opzet van een goede documentatie van de vertaaltabellen, te realiseren met gespecialiseerde datamigratietooling of gewoon met Excel.
Naast deze best practice heeft dit artikel als boodschap dat een dataprofessional de algemeen geldende regels voor datamodelering ook moet toepassen op zijn eigen werk, dat wil zeggen op de metadata van de projecten waar hij/zij aan werkt.
Hieronder staan we stil bij de essentie van vertaaltabellen en presenteren we een metamodel dat als basis kan dienen voor de opzet van een goede documentatie van de vertaaltabellen, te realiseren met gespecialiseerde datamigratietooling of gewoon met Excel.
Naast deze best practice heeft dit artikel als boodschap dat een dataprofessional de algemeen geldende regels voor datamodelering ook moet toepassen op zijn eigen werk, dat wil zeggen op de metadata van de projecten waar hij/zij aan werkt.
Essentie van vertaaltabellen
Bij een datamigratie leg je met de kolommapping de verbanden tussen de velden van bron- en doelsysteem. Zo heb je bijvoorbeeld aangegeven dat de kolom Jobcode in het doelsysteem gevuld moet worden met de Functiecodes uit het bronsysteem. Steeds als er in het doelsysteem gebruik gemaakt wordt van een ander coderingstelsel dan in het bronsysteem moet er een omcodering plaatsvinden. Dat wordt geregeld met vertaaltabellen, ook wel translatietabel of was-wordt-lijst genoemd.
Zo'n vertaaltabel is eigenlijk de combinatie van een domein (lijst van waarden) uit de bron met een domein uit het doelsysteem. We geven een voorbeeld uit de migratie van een HR-systeem: het bron- en doelsysteem hebben een eigen systematiek voor de codes van de functies van medewerkers. Bij de inrichting van het doelsysteem worden ook de nieuwe functiecodes en omschrijvingen bepaald. Dit is geen migratie-activiteit maar een inrichtingsactiviteit.
Deze doeldomeinen zijn input voor de datamigratie. Op basis hiervan maken we vertaaltabellen om de coderingen van de brondomeinen te vertalen naar de coderingen van de doeldomeinen. Voor het hierboven genoemde HR-voorbeeld maken we een vertaaltabel om de coderingen uit het domein Functie te vertalen naar die van Jobcode.
Zo'n vertaaltabel is eigenlijk de combinatie van een domein (lijst van waarden) uit de bron met een domein uit het doelsysteem. We geven een voorbeeld uit de migratie van een HR-systeem: het bron- en doelsysteem hebben een eigen systematiek voor de codes van de functies van medewerkers. Bij de inrichting van het doelsysteem worden ook de nieuwe functiecodes en omschrijvingen bepaald. Dit is geen migratie-activiteit maar een inrichtingsactiviteit.
Deze doeldomeinen zijn input voor de datamigratie. Op basis hiervan maken we vertaaltabellen om de coderingen van de brondomeinen te vertalen naar de coderingen van de doeldomeinen. Voor het hierboven genoemde HR-voorbeeld maken we een vertaaltabel om de coderingen uit het domein Functie te vertalen naar die van Jobcode.
Metamodel voor vertaaltabellen
Dit is het (plaatje van het) metamodel voor de registratie van al die vertalingen:
Een Brondomein bestaat uit een of meer coderingen. Hetzelfde geldt voor Doeldomein.
Een Vertaaltabel koppelt een Brondomein aan een Doeldomein. Zo'n Vertaaltabel bestaat uit een of meerdere regels. In elke regel wordt een Brondomeincode gekoppeld aan een Doeldomeincode.
Je zou het model verder kunnen optimaliseren en het onderscheid tussen bron- en doeldomein weglaten.
Een Vertaaltabel koppelt een Brondomein aan een Doeldomein. Zo'n Vertaaltabel bestaat uit een of meerdere regels. In elke regel wordt een Brondomeincode gekoppeld aan een Doeldomeincode.
Je zou het model verder kunnen optimaliseren en het onderscheid tussen bron- en doeldomein weglaten.
Binnen DataTranscript (de datamigratietooling van Transcriptum) wordt deze laatste optimalisatie toegepast.
Omdat het eerste metamodel net iets overzichtelijker is, hebben we dat gebruikt voor een Excel-model dat we voor een klant hebben gemaakt. Daarmee kan men de domeinen en vertaaltabellen documenteren en uitwisselen met de partij die de dataconversie uitvoert. Naast een introductietab met uitleg en versiegeschiedenis bestaat dit Excel-model uit 6 tabbladen - voor ieder van de entiteiten een tabblad. Deze tabbladen zijn onderling gerelateerd, zodat referentiële integriteitscontroles ondersteund worden.
De inhoud van dit Excel-model kan door de conversiepartij makkelijk opgenomen worden in de conversiestraat. Iedere keer als een nieuwe set van brondata wordt geleverd, wordt ook een nieuwe versie van deze registratie geleverd.
Uiteraard gebruikt de conversiepartij de gegevens uit de tab Vertaaltabelregels voor de vertaling van de coderingen. Daarnaast worden de doeldomeincodes ook gebruikt om na de transformatieslag te checken of er onverhoopt geen ongeldige coderingen zijn terecht gekomen in de geconverteerde data.
Deze tool biedt nog meer praktische voordelen. Zo kunnen we semi-automatisch checken of er wijzigen zijn gekomen in de setup van het doelsysteem die impact hebben op de vertaaltabellen, bijvoorbeeld de introductie van nieuwe coderingen. Ook kunnen alle partijen die gegevens uitwisselen met het doelsysteem geïnformeerd worden over de wijzigingen in de coderingssystematiek. Zij kunnen die vertaaltabellen hergebruiken voor conversies die mogelijk in hun systeem moeten worden uitgevoerd.
Omdat het eerste metamodel net iets overzichtelijker is, hebben we dat gebruikt voor een Excel-model dat we voor een klant hebben gemaakt. Daarmee kan men de domeinen en vertaaltabellen documenteren en uitwisselen met de partij die de dataconversie uitvoert. Naast een introductietab met uitleg en versiegeschiedenis bestaat dit Excel-model uit 6 tabbladen - voor ieder van de entiteiten een tabblad. Deze tabbladen zijn onderling gerelateerd, zodat referentiële integriteitscontroles ondersteund worden.
De inhoud van dit Excel-model kan door de conversiepartij makkelijk opgenomen worden in de conversiestraat. Iedere keer als een nieuwe set van brondata wordt geleverd, wordt ook een nieuwe versie van deze registratie geleverd.
Uiteraard gebruikt de conversiepartij de gegevens uit de tab Vertaaltabelregels voor de vertaling van de coderingen. Daarnaast worden de doeldomeincodes ook gebruikt om na de transformatieslag te checken of er onverhoopt geen ongeldige coderingen zijn terecht gekomen in de geconverteerde data.
Deze tool biedt nog meer praktische voordelen. Zo kunnen we semi-automatisch checken of er wijzigen zijn gekomen in de setup van het doelsysteem die impact hebben op de vertaaltabellen, bijvoorbeeld de introductie van nieuwe coderingen. Ook kunnen alle partijen die gegevens uitwisselen met het doelsysteem geïnformeerd worden over de wijzigingen in de coderingssystematiek. Zij kunnen die vertaaltabellen hergebruiken voor conversies die mogelijk in hun systeem moeten worden uitgevoerd.
Modeleringsregels gelden ook voor metadata
Iedereen die met veel data werkt doet er goed aan deze goed te organiseren en te modeleren. Als datamigreerder hebben we uiteraard te maken met de te migreren data. Maar daarnaast werken we met metadata, de gegevens over de te migreren data. Het loont de moeite om er goed over na te denken wat de onderliggende structuur van de metadata is. Als dataprofessional passen we regels toe bij het inrichten van systemen voor anderen. Denk bijvoorbeeld aan het normaliseren en de regels voor data-integriteit en -consistentie. Als het om onze eigen dataverzamelingen gaat lijken we die regels vaak te vergeten. Veel datamigreerders werken voor hun specificaties met spreadsheets die vol zitten met repeating groups en redundantie zonder adequate controles. Dat maakt de verzamelde metadata niet alleen minder betrouwbaar maar het werk is daardoor ook omslachtig en tijdrovend. De kwaliteit en de efficiëntie van de datamigratie staan daardoor onder druk.