Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Graphen!

 Graphen!

Eines der elementaren Aspekte einer jeden Architektur ist eine treffende
Modellierung des Domänenmodells, also desjenigen Abbildes fachlicher Ausprägungen, das im System durch die Ablauflogik verändert und persistiert wird.
Sofern die fachlichen Anforderungen komplexe Beziehungstypen u.a. über
mehrere Hierarchiestufen eines Modells hinweg definieren, kann das Entwicklungsteam bei einer gewünschten Abbildung auf relationale Strukturen vor
enorme Herausforderungen gestellt werden. Graphenbasierte Datenhaltungen
fokussieren auf die Lösung dieser Herausforderung: Die Abbildung komplexer
Beziehungen und Beziehungstypen auf ein effektiv verwaltetes Datenmodell.
Die Sicht auf eine Problemlösungsdomäne anhand der Beziehungen der abzubildenden fachlichen Entitäten kann dabei zu sehr intuitiven und effizienten
Lösungen führen.

Holger Tiemeyer

October 10, 2018
Tweet

More Decks by Holger Tiemeyer

Other Decks in Technology

Transcript

  1. Kurzprofil 25.11.2019 Graphen! 3 Schwerpunkte • Softwarearchitektur und –beratung •

    Enterprise-Architektur • Softwareentwicklung • Projektleitung Branchen • Automotive • Health • IT Dienstleistung • Banken/Versicherung Biographie • Diplom Informatiker • ISAQB: • Certified Professional for Software Architecture (Advanced Level) • Leiter AG Hochschulen • IREB Certified Professional for Requirements Engineering (Foundation Level) • OMG-Certified Expert in Business Process Management (BPM) Holger Tiemeyer 18 Jahre Erfahrung in Enterprise-Projekten
  2. 25.11.2019 Datenmodellierung 5 Begriff (Gedanke oder Bedeutung) Symbol (Zeichenträger) Gegenstand,

    Sachverhalt (Referenzobjekt) https://commons.wikim edia.org/w/index.php?c urid=26110 « Baum » steht für
  3. Der wissenschaftliche Modellbegriff 25.11.2019 Graphen! 6 Konkretes oder gedankliches •

    Abbild eines vorhandenen Gebildes • Vorbild für ein zu schaffendes Gebilde Das Gebilde, welches Abbild oder Vorbild ist, wird Original genannt. Jedes Modell ist durch die Wahrnehmung der modellierenden Person(en) geprägt. Die Vorstellung «Modell = Ausschnitt der Realität» greift zu kurz. Modelle sind Abbildung und Konstruktion der Realität.
  4. Wozu Modelle? 25.11.2019 Graphen 7 Verstehen Kommunizieren Hilfsmittel zum Gestalten,

    Bewerten und Kritisieren Spezifikation von Anforderungen Experimentieren Aufstellen/Prüfen von Hypothesen
  5. Datenbankmanagementsysteme – zeitliche Entwicklung 25.11.2019 Graphen! 8 1960 IBM DBOMP

    (Database Organization and Maintenance Processor) 1963 Charles Bachman Data Structure Diagram 1968 IBM IMS (Information Management System) 1970 Dr. Codd, Relationales Modell 1975 ANSI-SPARC 3-Schema Architektur 1978 Oracle 1983 IBM DB2 1986 Objekt- daten- banken 1996 UML 2007 NoSQL Heute 2018 Property Graphen? 1976 Peter Chen Entity Relationship modeling
  6. Relationale Modelle 25.11.2019 Graphen! 10 Suggerieren, dass sie auf «Beziehungen»

    (relation-ships) fokussieren. Sie fokussieren jedoch auf «relations» (Attributbeziehungen)! Gegeben seien nicht notwendigerweise unterschiedliche Wertebereiche (Domänen) , , … , , d.h. = ist zulässig für ≠ . Dann ist eine Relation definiert als die Teilmenge des kartesischen Produkts der Domänen: ⊆ ⨯ ⨯∙∙∙⨯ aus: Datenbanksysteme, Kemper, Eickler
  7. Funktionale Abhängigkeit 25.11.2019 Graphen! 11 Eine funktionale Abhängigkeit stellt eine

    Bedingung an die möglichen gültigen Ausprägungen des Datenbankschemas dar: → Hierbei repräsentieren [..] und jeweils Mengen von Attributen. R A B C D t 4 2 4 3 p 1 1 1 1 q 1 1 1 2 r 2 2 3 2 s 3 2 4 3 aus: Datenbanksysteme, Kemper, Eickler
  8. Prozess der Datenmodellierung 25.11.2019 Graphen! 12 Entitäten identifizieren Attribute identifizieren

    Beziehungen identifizieren Muster anwenden Namens- konventionen Schlüssel zuweisen Normalisieren De- normalisieren Angelehnt an: Graph Data Modeling for NoSQL and SQL, Thomas Friesendal
  9. Kritikpunkte 25.11.2019 Graphen! 14 Beziehungen wurden «Bürger zweiter Klasse» Keine

    Unterstützung für Mengen von Mengen SQL ist keine «wohlgeformte» und vollständige Sprache Geschäftssemantik geht verloren (Informationsverlust) War historisch nie «geschäftsorientiert» Fokussierung auf den Geschäftswert, Schnelligkeit und Anpassbarkeit
  10. Datenmodellierung 25.11.2019 Graphen! 16 Datenmodellierung bedeutet: Kommunikation von Struktur und

    Beziehung Kommunikation auf Augenhöhe mit den Stakeholdern (Fachabteilung, Management, etc.) Datenmodellierung ist Design!
  11. Visuelle Wahrnehmung 25.11.2019 Graphen! 17 Rinadeg Oedrr Aoccdrnig to a

    rscarhee at Cidgmabre Uinervtisy, it deosn t mtetar in waht oredr the ltteers in a wrod are, the olny iprmoatnt tihng is taht the frist and lsat ltteer be at the rghit pclae.* * Interactive Data Visualization: Foundation, Techniques and Applications. Second Edition, by M.O. Ward, G. Grintstein, D. Keim, CRC Press 2015
  12. Ubiquitous pointer 25.11.2019 Graphen! 21 Basisgeste der Menschen Es gibt

    kein Missverständnis über die Bedeutung The use of pointing gesture is one of the first ways to communicate with the world. This gesture emerges before the second year of life and it is assumed to be the first form of intentional communication.* Der Pointer ist eines unserer stärksten Visualisierungs-Tools. * Development Review, Volume 30, Issue 4, Dezember 2010, Seiten 352-366. Cristina Colonnesia, Geert Jan J.M. Stamsa, Irene Kostera, Marc J. Noomb
  13. Konzeptuelle Räume 25.11.2019 Graphen! 22 Geometrische Struktur, die Qualitätsdimensionen repräsentiert

    Punkte beschreiben Objekte Regionen beschreiben Konzepte Haut- farben Alle Farben
  14. Wahrnehmung 25.11.2019 Graphen! 23 (Visuelle) Wahrnehmung funktioniert über Annäherungen «Wenn

    etwas aussieht wie eine Ente, läuft wie eine Ente und redet wie eine Ente, dann ist es eine Ente!» Multidimensionaler Aspekt von Daten: Dimensionales Denken  Räumliche Wahrnehmung
  15. Leitprinzipien der modernen visuellen Kommunikation 25.11.2019 Graphen! 24 Domä- nennähe

    Kontext beschrei- ben Klare Sprache Räumlich denken Graph it! Angelehnt an: Graph Data Modeling for NoSQL and SQL, Thomas Friesendal
  16. Architektur des Datenmodellierungssystems 25.11.2019 Graphen! 25 Extrahieren Teilmenge Erweitern Transformie

    ren Optimieren Business Concept Modell Solution Data Modell Physikalisches Modell Context maps Property Graphen Property Graphen, ER-Modelle Sehr nah an der Fachlichkeit Brainstorming Whiteboard, etc. Definition von Attributen Fokus auf Beziehungen Performanz Indizierung Eindeutigkeit
  17. 25.11.2019 Graphen! 27 Institution Zentrale Filiale(n) Vertrags- partner Adresse(n) Vertrags-

    teilnehmer Teilnehmer- typ Kontakt besteht aus verwaltet IST identifiziert durch HAT/befindet sich an besteht aus HAT HAT definiert • Inhaber • Wirtschaftlich Berechtigter • Ansprechpartner • ... • Telefon • Mobil • Email • Fax • ... • Unternehmen • Organisation • Anstalt • ...
  18. Property Graphen 25.11.2019 Graphen! 28 Property Graph Bezie- hungen Knoten

    Eigen- schaften (Proper- ties) enthält enthält organisieren können haben können haben
  19. Property Graphen 25.11.2019 Graphen! 29 Bidirektionale 1:1-Beziehung Buch Cover hat/

    bezieht sich auf Autor Buch schreibt Autor Enzy- klopä die trägt bei 1:M-Beziehung M:N-Beziehung
  20. Property Graphen 25.11.2019 Graphen! 30 Normalisierung? Adresse(n) Adresstyp Gebäudename Hausnummer

    Hausnummer-Suffix Straßenname Himmelsrichtung PLZ Ort Ortsteil Regierungsbezirk Land
  21. Normalform: Regel 1 25.11.2019 Graphen! 31 Eliminiere sich wiederholende Gruppen

    Für jede Menge von zugehörigen Attributen wird eine neuer Knoten erzeugt. Dieser Knoten enthält einen Primärschlüssel. Adresse(n) Adresstyp Gebäudename Hausnummer Hausnummer -Suffix Straßenname Himmelsrichtung PLZ Ort Ortsteil Regierungsbezirk Land
  22. 25.11.2019 Graphen! 32 Adresse Adresse Id Gebäudename Hausnummer Hausnummer-Suffix Adresstyp

    Anschrift Land Land Id Regierungsbezirk Land Typ Id Typname Anschrift Id Straßenname Himmelsrichtung PLZ Ort Ortsteil typisiert besteht aus befindet sich in/ hat
  23. Normalform: Regel 2 25.11.2019 Graphen 33 Eliminiere redundante Daten Wenn

    ein Attribut nur von einem Teil eines zusammengesetzten Schlüssel abhängt, verschiebe es in einen neuen Knoten. Adresse Adresse Id Gebäudename Hausnummer Hausnummer-Suffix Adresstyp Anschrift Land Land Id Regierungsbezirk Land Typ Id Typname Anschrift Id Straßenname Himmelsrichtung PLZ Ort Ortsteil typisiert besteht aus befindet sich in/ hat
  24. 25.11.2019 Graphen! 34 Adresse Adresse Id Gebäudename Hausnummer Hausnummer-Suffix Adresstyp

    Straße Land Land Id Regierungsbezirk Land Typ Id Typname typisiert besteht aus Richtung Lokation Ortsteil Ort kann haben kann haben besitzt identifiziert Straße Id Name Richtung Id Richtung Ortsteil Id Ortsteil Ort Id Name befindet sich in Lokation Id PLZ
  25. Normalform: Regel 3 25.11.2019 Graphen! 35 Eliminiere Spalten, die nicht

    von einem Schlüssel abhängen Attribute, die nichts zu der Beschreibung eines Schlüssels betragen, sollten in einen neuen Knoten verschoben werden. Adresse Adresse Id Gebäudename Hausnummer Hausnummer-Suffix Adresstyp Straße Land Land Id Regierungsbezirk Land Typ Id Typname typisiert besteht aus Richtung Lokation Ortsteil Ort kann haben kann haben besitzt identifiziert Straße Id Name Richtung Id Richtung Ortsteil Id Ortsteil Ort Id Name befindet sich in Lokation Id PLZ
  26. 25.11.2019 Graphen! 36 Adresse Adresse Id Gebäudename Hausnummer Hausnummer -Suffix

    Adresstyp Straße Regierungs- bezirk Land Id Land Typ Id Typname typisiert besteht aus Richtung Lokation Ortsteil Ort kann haben kann haben besitzt identifiziert Straße Id Name Richtung Id Richtung Ortsteil Id Ortsteil Ort Id Name kann sich befinden in Land Reg Id Regierungsbezirk befindet sich in kann sich befinden in Lokation Id PLZ
  27. 25.11.2019 Graphen! 37 Adresse Adresstyp Straße Regierungs- bezirk typisiert besteht

    aus Richtung Lokation Ortsteil Ort kann haben kann haben identifiziert kann sich befinden in Land befindet sich in kann sich befinden in besitzt
  28. Normalisierung: Weitere Regeln 25.11.2019 Graphen! 39 Regel 4: Isoliere unabhängige,

    multiple Beziehungen Kein Knoten sollte mehr als zwei 1:n oder n:m-Beziehungen, die keinen direkten Bezug zueinander haben, besitzen. Regel 5: Isoliere semantisch in Beziehung stehende Beziehungen
  29. Projektbeispiel - Anforderungen 25.11.2019 Graphen! 40 Baubeschreibungen und Einrichtungshandbücher Zusammenführen

    in einer Anwendung Internationaler Kontext Definition eines Standards Landesspezifische Abweichungen vom Standard Strukturelle Zusammenstellung zu einem finalen Buch
  30. Projektbeispiel - Anforderungen 25.11.2019 Graphen! 41 Land Region Gebäudetyp Umsatztyp

    Raumgruppe Raum Baugruppe Baumaterial Fabrikat Teilbereich Platzierungs- Warengruppe SAP- Warengruppe SAP- Untermaterial -gruppe SAP-Material
  31. Projektbeispiel - Anforderungen 25.11.2019 Graphen! 42 Land Region Gebäudetyp Umsatztyp

    Raumgruppe Raum Baugruppe Baumaterial Fabrikat Teilbereich Platzierungs- Warengruppe SAP- Warengruppe SAP- Untermaterial -gruppe SAP-Material
  32. Projektbeispiel: Fragestellungen 25.11.2019 Graphen! 43 • In welchen Räumen befindet

    sich Gegenstand Y? • Welche Baumaterialien sind für den Umsatztyp I vorgesehen? • In welchen Aufenthaltsräumen befindet sich ein Fernseher mit Satellitenanlage vom Typ A.B? • Welchen Ländern ist Material X zugeordnet? • Welche Texte befinden sich aktuell in Übersetzung? • Wie war Gebäude A in Land B am 11.12.2017 ausgestattet?
  33. 25.11.2019 44 Abbild auf relationale Struktur? Zwischen jede mögliche Hierarchiebeziehungsstufe

    eine m:n- Relation einführen Komplexität der Queries (Joins) zu hoch Performanz der Abfragen zu niedrig
  34. Projektbeispiel: Technologie- und Architekturstack 25.11.2019 Graphen! 45 Buchverwaltung REST-API Logik

    Persistenz Repository Proxy Daten- modell Service Facade API Resource Spring-Data- Neo4j (OGM) Spring-core Spring- HATEOAS
  35. adesso AG Stockholmer Allee 20 44269 Dortmund T +49 231

    7000-7000 F +49 231 7000-1000 www.adesso.de Vielen Dank!