Articles

Data Modeling

ontdek hoe data modeling abstractie gebruikt om de aard van data flow binnen een enterprise information system weer te geven en beter te begrijpen

Wat is data modeling?

datamodellering is het proces van het creëren van een visuele representatie van een geheel informatiesysteem of delen daarvan om verbindingen tussen datapunten en structuren te communiceren. Het doel is om de soorten gegevens die worden gebruikt en opgeslagen in het systeem te illustreren, de relaties tussen deze soorten gegevens, de manieren waarop de gegevens kunnen worden gegroepeerd en georganiseerd en de formaten en attributen.

datamodellen zijn opgebouwd rond bedrijfsbehoeften. Regels en vereisten worden vooraf gedefinieerd door feedback van belanghebbenden uit het bedrijfsleven, zodat ze kunnen worden opgenomen in het ontwerp van een nieuw systeem of aangepast in de iteratie van een bestaand systeem.

gegevens kunnen worden gemodelleerd op verschillende niveaus van abstractie. Het proces begint met het verzamelen van informatie over zakelijke behoeften van belanghebbenden en eindgebruikers. Deze bedrijfsregels worden vervolgens vertaald in datastructuren om een concreet databaseontwerp te formuleren. Een datamodel kan worden vergeleken met een roadmap, een blauwdruk van een architect of een formeel diagram dat een dieper begrip van wat er wordt ontworpen vergemakkelijkt.

datamodellering maakt gebruik van gestandaardiseerde schema ‘ s en formele technieken. Dit biedt een gemeenschappelijke, consistente en voorspelbare manier van definiëren en beheren van gegevensbronnen binnen een organisatie, of zelfs daarbuiten.

idealiter zijn datamodellen levende documenten die samen met veranderende bedrijfsbehoeften evolueren. Ze spelen een belangrijke rol bij het ondersteunen van bedrijfsprocessen en het plannen van IT-architectuur en strategie. Datamodellen kunnen worden gedeeld met leveranciers, partners en/of branchegenoten.

soorten gegevensmodellen

net als elk ontwerpproces begint het ontwerp van databanken en informatiesystemen op een hoog niveau van abstractie en wordt het steeds concreter en specifieker. Gegevensmodellen kunnen over het algemeen worden onderverdeeld in drie categorieën, die variëren afhankelijk van de mate van abstractie. Het proces begint met een conceptueel model, gaat verder naar een logisch model en eindigt met een fysiek model. Elk type gegevensmodel wordt hieronder nader besproken:

  • conceptuele gegevensmodellen. Ze worden ook wel domeinmodellen genoemd en bieden een overzicht van wat het systeem zal bevatten, hoe het zal worden georganiseerd en welke bedrijfsregels erbij betrokken zijn. Conceptuele modellen worden meestal gemaakt als onderdeel van het proces van het verzamelen van initiële projectvereisten. Doorgaans omvatten ze entiteitklassen (die de soorten dingen definiëren die belangrijk zijn voor het bedrijf om te vertegenwoordigen in het datamodel), hun kenmerken en beperkingen, de relaties tussen hen en relevante vereisten voor beveiliging en gegevensintegriteit. Elke notatie is meestal eenvoudig.
    Diagram van een conceptueel gegevensmodel
  • logische gegevensmodellen. Ze zijn minder abstract en geven meer details over de concepten en relaties in het betreffende domein. Een van de verschillende formele notatiesystemen voor datamodellering wordt gevolgd. Deze geven gegevensattributen aan, zoals gegevenstypen en hun overeenkomstige lengte, en tonen de relaties tussen entiteiten. Logische datamodellen specificeren geen technische systeemvereisten. Deze fase wordt vaak weggelaten in agile of DevOps praktijken. Logische datamodellen kunnen nuttig zijn in zeer procedurele implementatieomgevingen, of voor projecten die van nature datageoriënteerd zijn, zoals het ontwerp van datawarehouses of de ontwikkeling van rapportagesystemen.
    Diagram van een logisch gegevensmodel
  • fysische gegevensmodellen. Ze bieden een schema voor hoe de gegevens fysiek worden opgeslagen in een database. Als zodanig zijn ze het minst Abstracte van allemaal. Ze bieden een afgerond ontwerp dat kan worden geïmplementeerd als een relationele database, inclusief associatieve tabellen die de relaties tussen entiteiten illustreren, evenals de primaire sleutels en buitenlandse sleutels die zullen worden gebruikt om die relaties te onderhouden. Fysieke datamodellen kunnen databasemanagementsysteem (DBMS)-specifieke eigenschappen omvatten, waaronder prestatieafstemming.
    Diagram van een fysiek gegevensmodel

Data modeling process

als discipline nodigt datamodellering belanghebbenden uit om gegevensverwerking en-opslag nauwkeurig te evalueren. Datamodelleringstechnieken hebben verschillende conventies die bepalen welke symbolen worden gebruikt om de gegevens weer te geven, hoe modellen worden opgesteld en hoe zakelijke vereisten worden overgebracht. Alle benaderingen bieden geformaliseerde workflows die een opeenvolging van taken bevatten die op een iteratieve manier moeten worden uitgevoerd. Deze workflows zien er over het algemeen als volgt uit:

  1. Identificeer de entiteiten. Het proces van datamodellering begint met de identificatie van de dingen, gebeurtenissen of concepten die worden weergegeven in de dataset die moet worden gemodelleerd. Elke entiteit moet samenhangend zijn en logischerwijs gescheiden van alle anderen.
  2. Identificeer de belangrijkste eigenschappen van elke entiteit. Elk entiteitstype kan worden onderscheiden van alle andere omdat het een of meer unieke eigenschappen heeft, die attributen worden genoemd. Een entiteit met de naam “klant” kan bijvoorbeeld kenmerken bezitten zoals een voornaam, achternaam, telefoonnummer en aanhef, terwijl een entiteit met de naam “adres” een straatnaam en-nummer, een stad, staat, land en Postcode kan bevatten.
  3. Identificeer relaties tussen entiteiten. Het vroegste ontwerp van een datamodel zal de aard van de relaties die elke entiteit heeft met de anderen specificeren. In het bovenstaande voorbeeld, elke klant “woont op” een adres. Als dat model werd uitgebreid met een entiteit genaamd “orders”, zou elke bestelling worden verzonden naar en gefactureerd aan een adres ook. Deze relaties worden meestal gedocumenteerd via unified modeling language (UML).
  4. attributen volledig toewijzen aan entiteiten. Dit zal ervoor zorgen dat het model weergeeft hoe het bedrijf de gegevens zal gebruiken. Verscheidene formele datamodelleringspatronen worden wijdverbreid gebruikt. Objectgeoriënteerde ontwikkelaars passen vaak analyse-of ontwerppatronen toe, terwijl stakeholders uit andere bedrijfsdomeinen zich kunnen wenden tot andere patronen.
  5. wijs sleutels toe indien nodig ,en beslis over een mate van normalisatie die de noodzaak om redundantie te verminderen in evenwicht brengt met prestatievereisten. Normalisatie is een techniek voor het organiseren van datamodellen (en de databases die zij vertegenwoordigen) waarin numerieke identifiers, sleutels genoemd, worden toegewezen aan groepen gegevens om relaties tussen hen te vertegenwoordigen zonder de gegevens te herhalen. Bijvoorbeeld, als klanten elke toegewezen een sleutel, die sleutel kan worden gekoppeld aan zowel hun adres en hun bestelgeschiedenis zonder dat deze informatie te herhalen in de tabel van de namen van de klant. Normalisatie heeft de neiging om de hoeveelheid opslagruimte die een database nodig heeft te verminderen, maar het kan tegen kostprijs om prestaties te vragen.
  6. finaliseer en valideer het gegevensmodel. Datamodellering is een iteratief proces dat moet worden herhaald en verfijnd als zakelijke behoeften veranderen.

soorten gegevensmodellering

gegevensmodellering is geëvolueerd naast databasemanagementsystemen, waarbij de modeltypes steeds complexer worden naarmate de behoefte aan gegevensopslag van bedrijven is toegenomen. Hier zijn verschillende modeltypes:

  • hiërarchische datamodellen vertegenwoordigen één-op-vele relaties in een boomachtig formaat. In dit type model heeft elke record een enkele root of ouder die aan een of meer onderliggende tabellen toewijst. Dit model werd geà mplementeerd in het IBM Information Management System (IMS), dat in 1966 werd geà ntroduceerd en snel wijdverbreid werd gebruikt, vooral in het bankwezen. Hoewel deze aanpak is minder efficiënt dan meer recent ontwikkelde database modellen, het wordt nog steeds gebruikt in Extensible Markup Language (XML) systemen en geografische informatiesystemen (GISs).
  • relationele datamodellen werden aanvankelijk voorgesteld door IBM-onderzoeker E. F. Codd in 1970. Ze worden nog steeds geïmplementeerd in de vele verschillende relationele databases die vaak worden gebruikt in enterprise computing. Relationele datamodellering vereist geen gedetailleerd begrip van de fysieke eigenschappen van de gegevensopslag die wordt gebruikt. Daarin worden gegevenssegmenten expliciet samengevoegd door het gebruik van tabellen, waardoor de complexiteit van de database wordt verminderd.

relationele databases maken vaak gebruik van structured query language (SQL) voor gegevensbeheer. Deze databases werken goed voor het behoud van gegevensintegriteit en het minimaliseren van redundantie. Ze worden vaak gebruikt in point-of-sale-systemen, evenals voor andere soorten transactieverwerking.

  • Entity-relationship (ER) datamodellen gebruiken formele diagrammen om de relaties tussen entiteiten in een database weer te geven. Verschillende er modeling tools worden gebruikt door Data architects om visuele kaarten die database ontwerp doelstellingen over te brengen te creëren.
  • Objectgeorižnteerde datamodellen kregen tractie als objectgeorižnteerd programmeren en het werd populair in het midden van de jaren negentig. de betrokken “objecten” zijn abstracties van entiteiten uit de echte wereld. Objecten zijn gegroepeerd in klassenhiërarchieën, en hebben bijbehorende functies. Objectgeoriënteerde databases kunnen tabellen bevatten, maar kunnen ook complexere datarelaties ondersteunen. Deze aanpak wordt toegepast in multimedia-en hypertextdatabases en in andere use cases.
  • dimensionale datamodellen werden ontwikkeld door Ralph Kimball, en ze werden ontworpen om data retrieval snelheden te optimaliseren voor analytische doeleinden in een datawarehouse. Terwijl relationele en ER-modellen efficiënte opslag benadrukken, verhogen dimensionale modellen redundantie om het gemakkelijker te maken om informatie te lokaliseren voor rapportage en ophalen. Deze modellering wordt meestal gebruikt in OLAP-systemen.

twee populaire dimensionale datamodellen zijn het sterschema, waarin gegevens worden georganiseerd in feiten (meetbare items) en dimensies (referentie-informatie), waarbij elk feit wordt omgeven door de bijbehorende dimensies in een sterachtig patroon. De andere is de sneeuwvlok schema, die lijkt op de ster schema, maar bevat extra lagen van bijbehorende afmetingen, waardoor de vertakking patroon complexer.

voordelen van datamodellering

datamodellering maakt het voor ontwikkelaars, data-architecten, bedrijfsanalisten en andere belanghebbenden gemakkelijker om de relaties tussen de gegevens in een database of datawarehouse te bekijken en te begrijpen. Bovendien kan het:

  • fouten in software-en databaseontwikkeling verminderen.
  • consistentie in documentatie en systeemontwerp in de hele onderneming vergroten.
  • Verbeter de prestaties van applicaties en databases.
  • vergemakkelijkt het in kaart brengen van gegevens in de hele organisatie.
  • verbeteren van de communicatie tussen ontwikkelaars en business intelligence teams.
  • het proces van databaseontwerp op conceptuele, logische en fysieke niveaus vergemakkelijken en versnellen.

Data modeling tools

talrijke commerciële en open source computer-aided software engineering (CASE) oplossingen worden tegenwoordig veel gebruikt, waaronder meerdere data modeling, diagrammen en visualisatie tools. Hier zijn enkele voorbeelden:

  • erwin Data Modeler is een data modeling tool gebaseerd op de Integration DEFinition for information modeling (IDEF1X) data modeling language die nu andere notatie methodologieën ondersteunt, waaronder een dimensionale benadering.
  • Enterprise Architect is een visuele modellering en ontwerp tool die het modelleren van enterprise information systems en architecturen, evenals software applicaties en databases ondersteunt. Het is gebaseerd op objectgeoriënteerde talen en standaarden.
  • ER / Studio is database design software die compatibel is met een aantal van de meest populaire database management systemen van vandaag. Het ondersteunt zowel relationele en dimensionale datamodellering.
  • vrije data modeling tools omvatten open source oplossingen zoals Open ModelSphere.

Data modeling en IBM Cloud

onderzoekers bij IBM behoorden tot de pioniers die de eerste hiërarchische en relationele datamodellen creëerden en ook de databases ontwierpen waar deze modellen aanvankelijk werden geïmplementeerd.

vandaag biedt IBM Cloud een volledig stack-platform dat een rijke portfolio van SQL-en NoSQL-databases ondersteunt, samen met ontwikkeltools die nodig zijn om gegevensbronnen binnen deze databases efficiënt te beheren. IBM Cloud ondersteunt ook open source tools die ontwikkelaars helpen bij het beheren van objecten, bestanden en het blokkeren van gegevensopslag om de prestaties en betrouwbaarheid te optimaliseren.

wilt u meer weten over het modelleren van data op IBM Cloud? Meld je aan voor een IBMid en maak vandaag nog je gratis IBM Cloud account aan.