Waarom fysiek modelleren niet altijd de beste keuze is
Bij veel dataprojecten wordt er alleen op fysiek niveau gemodelleerd, als er überhaupt al gemodelleerd wordt. Dat betekent dat het model dat je maakt altijd specifiek is voor de technologie die je op dat moment gebruikt. Er wordt bijvoorbeeld een Data Vault voor SQL Server gemodelleerd of een Anchor model voor PostgreSQL. Zie de afbeelding hieronder ter illustratie. Het nadeel hiervan is dat deze modellen moeten worden herzien wanneer je van technologie of opslagmodel wisselt. Als je kiest voor logisch modelleren, ben je niet afhankelijk van de technologie die je kiest en bovendien sluit het beter aan bij de belevingswereld van je stakeholders.
Het juiste model op het juiste moment
Elk type model heeft een eigen doel en functie binnen een dataproject. Er zijn drie belangrijke niveaus: conceptueel, logisch en fysiek. Conceptueel beschrijft op een hoog niveau de concepten in je data oplossing. In het logisch model zijn de concepten uitgewerkt naar o.a. entiteiten met relaties en attributen. Een fysiek model bevat een vertaling van het logisch model naar een structuur geoptimaliseerd voor de gekozen technologie. Door op het juiste moment het juiste type model te gebruiken, kun je de communicatie verbeteren en het resultaat optimaliseren.
Logisch modelleren helpt stakeholders beter begrijpen
Een groot voordeel van conceptueel en logisch modelleren is dat het begrijpelijk is voor alle betrokken partijen, niet alleen voor de techneuten. Wanneer je bijvoorbeeld een bepaald model presenteert aan stakeholders uit de business, moeten zij dat wel kunnen herkennen: ‘Ah, dit gaat over klanten, leads, prospects en deals’ bijvoorbeeld. Als je op dit niveau al een model gebruikt met Data Vault concepten zoals hubs, links en satellites dan ben je de meeste stakeholders kwijt. Ze zullen hun business niet direct herkennen in het model en kunnen daardoor minder goed valideren of je op de juiste weg bent. Logisch modelleren stelt je in staat om in begrijpelijke termen te communiceren, waardoor je ook mensen uit de business betrokken houdt.
Een voorbeeld uit de praktijk: product hiërarchie modelleren
Stel, je verkoopt zowel fysieke producten, zoals een boek, als digitale producten, zoals software. Beide hebben gemeenschappelijke kenmerken, zoals een prijs en een omschrijving, maar er zijn ook verschillen. Een fysiek product heeft bijvoorbeeld een afmeting en gewicht, terwijl een digitaal product juist een bestandsgrootte heeft. In een logisch model kun je dit onderscheid goed vastleggen door gebruik te maken van super- en subtypes, ook wel inheritance genoemd. In een fysiek model is dit vaak niet mogelijk. Een fysiek model bevat voor dit soort constructies dan al een implementatiekeuze, bijvoorbeeld aparte tabellen voor fysiek en digitaal product waar beide tabellen de gemeenschappelijke kenmerken bevatten. De product hiërarchie die in de praktijk bestaat kan in een logisch model dus beter worden vastgelegd dan in een fysiek model.
Logisch modelleren zorgt voor flexibiliteit en efficiëntie
Logisch modelleren is niet alleen beter begrijpelijk voor stakeholders, het biedt ook meer flexibiliteit bij technologische veranderingen of inzichten. Als een organisatie graag van technologie wil wisselen dan blijft hetgeen je functioneel wil bereiken van hetzelfde. Dit betekent dat het logische model voor de nieuwe technologie hetzelfde is als voor je huidige. Oftewel je dient enkel een nieuw technisch model geoptimaliseerd voor de nieuwe technologie af te leiden o.b.v. je logische model. Het opstellen en onderhouden van een logisch model voorkomt dus ook bij dit soort situaties dat de originele eisen ontdekt moeten worden via de code, of opnieuw opgehaald moeten worden met de stakeholders. Bij CrossBreeze is dit een uitgangspunt voor onze visie en veel van de tools die we ontwikkelen. Zo ook bij onze eigen data modeling tool, CrossModel. Modelleren op logisch niveau maakt je gegevensstructuur duurzaam en toekomstbestendig. Je projecten verlopen hierdoor efficiënter en leveren op de lange termijn meer waarde op.
Wil je efficiënter modelleren? Wij kunnen je helpen!
Wil je meer halen uit je datamodellen en efficiënter werken? Bij CrossBreeze hebben we jarenlange ervaring met logisch modelleren en weten we hoe we dit proces kunnen optimaliseren. Bovendien zijn we specialist in het inzetten van logische modellen voor codegeneratie. Door samen te werken met je stakeholders en technologie-onafhankelijke modellen te bouwen, kunnen we jouw dataprojecten succesvoller maken. Neem contact met ons op voor een vrijblijvend gesprek en ontdek wat wij voor jouw organisatie kunnen betekenen.
We verwachten begin 2025 een bètaversie van CrossModel beschikbaar te hebben voor een selecte groep geïnteresseerden. Wil je op de hoogte blijven van de ontwikkelingen en mogelijk als één van de eersten proefdraaien met CrossModel? Meld je dan aan via deze link.