27-08-2019

Het toenemend belang van datamodellering voor goede data

 Het is in het verleden een belangrijke basis geweest bij de ontwikkeling van applicaties. Het is echter tevens een tijd minder onder de aandacht geweest. Dit komt mijns inziens onder meer doordat in de context van agile ontwikkeling het vastleggen van kennis in documenten als minder belangrijk is gepositioneerd. In deze blog beschrijf ik dat datamodellering toenemend belangrijk is en wat de waarde ervan is in de context van datakwaliteit. Datakwaliteit is ook het hoger liggende doel van datamanagement als geheel; het ervoor zorgen dat de kwaliteit van data aansluit bij het gebruik.

Een datamodel is een structuur van data, inclusief een definitie van de elementen in deze structuur. Naast dat deze structuur belangrijk is voor het vastleggen van data is het ook belangrijk voor data-uitwisseling. Uitwisseling van data over de grenzen van organisaties zal steeds meer toenemen. Daarmee overschrijdt data ook grenzen van taal en is het toenemend belangrijk dat duidelijk is wat de data betekent om misinterpretatie te voorkomen. Een belangrijk aspect van datakwaliteit is de mate waarin data overeenkomt met de werkelijkheid. Als je de werkelijkheid niet goed begrijpt en ook niet goed definieert wat de data betekent dan ontbreekt de basis om te kunnen spreken over kwaliteit. Betekenis van data, in de vorm van definities is daarom de belangrijkste onderbouwing waarom datamodellen zo belangrijk zijn voor datakwaliteit. Overigens start dat idealiter op een conceptueel taalniveau, waarbij het nog helemaal niet gaat over data, alleen maar over het beschrijven van de werkelijkheid.

Een ander belangrijke reden waarom datamodellen zo belangrijk zijn vanuit het perspectief van datakwaliteit is dat datamodellen ook regels beschrijven. Denk aan regels die aangeven welke data verplicht zijn, welke waarden ze kunnen aannemen of welke relaties er moeten bestaan tussen data-elementen. Deze regels worden ook wel constraints (beperkingsregels) of kwaliteitsregels benoemd, wat direct aangeeft waarom ze belangrijk zijn voor datakwaliteit. Overigens gaan deze regels verder dan wat je in een datamodel visueel kunt weergeven. Ze kunnen ook beperkingen stellen aan meer complexe relaties tussen data. Hiervoor zijn verschillende (formele) talen beschikbaar zoals OCL en SHACL. Deze regels maken eigenlijk een integraal deel uit van het datamodel. Ze zijn echter ook direct bruikbaar als datakwaliteitscontroles. Je kunt ze uitprogrammeren in SQL of configureren in een datakwaliteitstool. Het resultaat is een datakwaliteitsrapportage of dashboard waarin je alle records kunt zien die niet voldoen aan de regels zodat je kunt werken aan de continue verbetering van de kwaliteit van de data.

Als je vanuit datakwaliteit en kwaliteitsregels kijkt naar datamodellen dan wordt ineens duidelijk dat het uitgebreider vastleggen van een datamodel veel meerwaarde heeft, ook voor reeds bestaande applicaties en databases. Je kunt dan ook specifieke eigenschappen vastleggen die het creëren van kwaliteitsregels vereenvoudigen. Denk bijvoorbeeld aan het vastleggen van de domeinen; de waarden die de data kan aannemen. Dat betekent ondermeer het vastleggen van het datatype, veldlengtes, minimale en maximale waarden en formaat van velden. Bij die laatste zou je bijvoorbeeld ook kunnen denken aan het gebruik van reguliere expressies om het formaat in uit te drukken. Deze expressies zijn direct bruikbaar in kwaliteitsregels en/of queries die daaruit voortvloeien. Als je het logische datamodel ook netjes hebt verbonden aan het fysieke datamodel dan zou je in potentie de kwaliteitsregels of queries ook automatisch kunnen genereren. Dit leidt tot een belangrijke versnelling bij het opstellen van kwaliteitsregels. Deze regels zou je ook op meerdere plaatsen in het proces kunnen gebruiken. Bij voorkeur worden ze al gebruikt bij het inwinnen of anders bij het ontvangen van gegevens. Een belangrijke basis ontstaat echter al als je ze definieert op reeds opgeslagen data, bijvoorbeeld in je datawarehouse. Hierdoor ontstaat snel een eerste inzicht.

Als je verder kijkt naar datakwaliteit dan zou je ook meer geavanceerde aspecten van datakwaliteit in het datamodel kunnen vastleggen. Een belangrijk referentiekader in die context zijn de ISO/IEC 25012 en 25024 standaarden die standaard dimensies en indicatoren voor datakwaliteit beschrijven. Denk daarbij bijvoorbeeld aan nauwkeurigheid, compleetheid, actualiteit, consistentie, precisie en herleidbaarheid van data. Veel van dit soort kwaliteitsaspecten worden gedefinieerd op attribuutniveau. Je zou ze dan ook liefst als kwaliteitseis vastleggen in het datamodel. Bij een specifiek attribuut zou je dan bijvoorbeeld kunnen aangeven dat de precisie 2 cijfers achter de komma is of dat de positionele nauwkeurigheid een halve meter is. Een deel van dit soort regels kun je ook geautomatiseerd controleren. Genoemd voorbeeld over de precisie is heel eenvoudig om te zetten in een kwaliteitsregel.

Herleidbaarheid is ook een aspect van datakwaliteit en krijgt toenemend aandacht. Ik organiseerde laatste een workshop over datakwaliteit. Ik liet de deelnemers en aantal kaartbeelden zien en vroeg welke informatie er eigenlijk in de metadata had moeten staan over datakwaliteit om te bepalen of de data bruikbaar is. Met stip op nummer één gaven deelnemers aan dat ze graag wilden weten wie de data had gecreëerd, op welke wijze en wanneer. Ook bij financiële instellingen worden er toenemend eisen gesteld aan de herleidbaarheid van data. Data in formele rapportages moeten herleidbaar zijn door de gehele keten, inclusief de bewerkingen die zij in het proces hebben doorgaan. Deze herleidbaarheid moet in eerste instantie expliciet worden gemaakt op het niveau van het datamodel. Het fysieke datamodel moet zijn verbonden aan het logische datamodel en die moet zijn verbonden aan het conceptuele datamodel. Dit wordt ook wel linkage genoemd. Vervolgens moeten de verwerkingen in het proces worden uitgedrukt in termen van relaties tussen attributen in verschillende datamodellen. Dat wordt ook wel data lineage genoemd. Dit stelt hoge eisen aan de manier waarop datamodellen worden vastgelegd en beheerd.

Ik heb in deze blog duidelijk geprobeerd te maken dat datamodellering weer helemaal terug is en een belangrijke competentie voor de toekomst is. Tegelijkerheid is belangrijk om te onderkennen dat datamodellering ook een vak is en dat niet ieder willekeurig teamlid in staat is om tot een kwalitatief hoogwaardig datamodel te komen. We zullen dus moeten investeren in kennis over datamodellering en het weer opnieuw als een vak gaan beschouwen.

Danny Greefhorst (dgreefhorst@archixl.nl) is directeur en principal consultant bij ArchiXL.

Interessant? Deel het!
Illustratie stel je vraag
Meer weten over deze blog?

Neem contact op met ons, we vertellen er graag meer over!

© ArchiXL  |  KvK 05084421