NoSQL Graphdatenbanken mit HyperGraphDB Tage der Datenbanken Donnerstag, 20.06.2013 Ludger Schönfeld, B. Sc. ludger.schoenfeld[at]smail.fh-koeln.de
Agenda 1. Einleitung/Motivation 2. Graphendatenbanken Die Theorie 3. Arbeiten mit der HyperGraphDB 4. Fazit/Ausblick 2
Agenda 1. Einleitung/Motivation 2. Graphendatenbanken Die Theorie 3. Arbeiten mit der HyperGraphDB 4. Fazit/Ausblick 3
Warum Graphen-DB? Vielerlei Anwendungen in der Informatik von Graphen Soziale Netze (Facebook, ) Produktionsplanung Stücklisten Abbildung von Graphen im RDBMS: Performance -Problem Lösung: Graphendatenbanken Vgl. Edlich u.a., 2010, S. 169-170 & 180 4
Fallstudie Fahrradhersteller (1) ER-Diagramm (Ausschnitt) Relation Struktur Relation Teile Vgl. Faeskorn-Woyke/Bertelsmeier u.a., 2007, S. 99 5
Fallstudie Fahrradhersteller (2) Bauteile eines Fahrrads (Gozintograph) 6
Agenda 1. Einleitung/Motivation 2. Graphendatenbanken Die Theorie a. Aufbau eines Graphen b. Das Property-Graph-Modell 3. Arbeiten mit der HyperGraphDB 4. Fazit/Ausblick 7
Agenda 1. Einleitung/Motivation 2. Graphendatenbanken Die Theorie a. Aufbau eines Graphen b. Das Property-Graph-Model 3. Arbeiten mit der HyperGraphDB 4. Fazit/Ausblick 8
Bestandteile eines Graphen: G= (V, E) Knoten(menge) => V (engl. vertices) Kanten(menge) => E (engl. edges) Gerichtete und ungerichtete Kanten Label 1 Label: 1,5 Label 2 Speicherung von weiteren Informationen möglich (Labels/Properties) Vgl. Edlich u.a., S. 172 9
Hypergraph Besitzt Hyperkanten Gerichteter Graph: Startknoten 1 : n Zielknoten Ungerichteter Graph: Menge von Knoten Vorteil(e)? Nachteil(e)? Vgl. Edb Wiki FH Köln, Campus Gummersbach: Hypergraph 10
Agenda 1. Einleitung/Motivation 2. Graphendatenbanken Die Theorie a. Aufbau eines Graphen b. Das Property-Graph-Model 3. Arbeiten mit der HyperGraphDB 4. Fazit/Ausblick 11
Das Property-Graph-Model Gerichteter, multi-relationaler Graph Knoten & Kanten speichern Eigenschaften (Properties) Form: Key-/Value-Beziehungen Beispiel: Name: Andre Vgl. Edlich u.a., S. 173 Vgl. Edb Wiki FH Köln, Campus Gummersbach: Das Property-Graph-Modell 12
Agenda 1. Einleitung/Motivation 2. Graphendatenbanken Die Theorie 3. Arbeiten mit der HyperGraphDB a. Übersicht b. Das Datenmodell c. Live-Demo 4. Fazit/Ausblick 13
Agenda 1. Einleitung/Motivation 2. Graphendatenbanken Die Theorie 3. Arbeiten mit der HyperGraphDB a. Übersicht b. Das Datenmodell c. Live-Demo 4. Fazit/Ausblick 14
Zentrale Merkmale der HyperGraphDB (1) Multifunktionale Datenbank Anfrage-API: HGQuery, Traverser-API Datenmodell: Hypergraph Replikation: Peer-to-Peer-Framework Lizenz: LGPL (ohne Berkeley DB) Szenario für mögliche Einsatzgebiete (Bsp.)* Bioinformatik-Projekte Vgl. Edlich u.a., 2010, S. 223, S. 227 & hypergraphdb.org: What is it? sowie Oracle 2009 *Vgl. hypergraphdb.org: Possible Usage Scenarios. 15
Zentrale Merkmale der HyperGraphDB (2) Persistenz: Oracle Berkeley DB Eingebettete Datenbank-Engine Verschiedene Ausprägungen vorhanden: Berkeley DB Berkeley DB Java Edition Berkeley DB XML Transaktion: ACID, MVCC (optional) Vgl. Edlich u.a., 2010, S. 223, S. 227 & hypergraphdb.org: What is it? sowie Oracle 2009 16
Agenda 1. Einleitung/Motivation 2. Graphendatenbanken Die Theorie 3. Arbeiten mit der HyperGraphDB a. Übersicht b. Das Datenmodell c. Live-Demo 4. Fazit/Ausblick 17
Das Datenmodell (Überblick & Vergleich) Das Property-Graph- Modell (zum Vergleich) Modell der HyperGraphDB Vgl. Edlich u.a. 2010, S. 223 & Iordanov 2010, S. 3 sowie Abb. in Anlehnung an: Iordanov o. J., Folie 8 18
Typen als Bestandteil des Hypergraphen 19 Visualisiert mit dem HGViewer
Agenda 1. Einleitung/Motivation 2. Graphendatenbanken Die Theorie 3. Arbeiten mit der HyperGraphDB a. Übersicht b. Das Datenmodell c. Live-Demo 4. Fazit/Ausblick 20
Live-Demo: HyperGraphDB 21
Agenda 1. Einleitung/Motivation 2. Graphendatenbanken Die Theorie 3. Arbeiten mit der HyperGraphDB 4. Fazit/Ausblick 22
Fazit KaWa* HyperGraphDB Hypergraph (Datenmodell) Eingebettete DB Graphdatenbank Graphenalgorithmen: Breiten-/Tiefensuche Replikation: P2P-Framework Persistenzbasis *Technik KaWa : nach Vera F. Birkenbihl Atom ACI(D) Berkeley DB APIs Datenmodell 23 nicht intuitiv
Ausblick Fallstudie: Fahrradhersteller Eignung von HyperGraphDB? Hier keine aussagekräftige Entscheidung möglich Bisher nur Betrachtung eines Ausschnitts der Beispiel-DB Ausstehend: Wie erfolgt die Ausgabe der hierarchischen Struktur? Evtl. Alternative zur Ersetzung des RDBS RDBS (Grunddaten) & HyperGraphDB (Produktionsdaten) parallel laufen lassen Probleme/Risiken? 25
Vielen Dank für Ihre Aufmerksamkeit! Noch Fragen/Anmerkungen? 26
ANHANG 27
Literatur (1) Edb Wiki FH Köln, Campus Gummersbach: Das Property-Graph-Modell. http://wikis.gm.fhkoeln.de/wiki_db/datenbanken/propertygraphmodell (07.05.2013) Edb Wiki FH Köln, Campus Gummersbach: Hypergraph. http://wikis.gm.fhkoeln.de/wiki_db/datenbanken/hypergraph (07.05.2013) Edlich, Stefan; Friedland, Achim; Hampe, Jens; Brauer, Benjamin (2010): NoSQL. Einstieg in die Welt nichtrelationaler Web 2.0 Datenbanken. München: Hanser. 28
Literatur (2) Faeskorn-Woyke, Heide; Bertelsmeier, Birgit; Riemer, Petra; Bauer, Elena (2007): Datenbanksysteme. Theorie und Praxis mit SQL2003, Oracle und MySQL. München: Pearson Studium. hypergraphdb.org: Possible Usage Scenarios. http://hypergraphdb.org/about (01.06.2013) hypergraphdb.org: What is it? http://www.hypergraphdb.org/index (23.03.2013) Iordanov, Borislav (2010): HyperGraphDB: A Generalized Graph Database. http://www.hypergraphdb.org/docs/hypergraphdb.pdf (01.06.2013) 29
Literatur (3) Iordanov, Borislav (o. J.): Präsentation HyperGraphDB. Data Management for Complex System. http://www.hypergraphdb.org/docs/hypergraphdb- Presentation.pdf (23.03.2013) Oracle (2009): A Comparison of Oracle Berkeley DB and Relational Database Management Systems. An Oracle Technical White Paper. March 2009. http://www.oracle.com/us/products/database/berkeleydb-v-relational-066565.pdf (23.04.2013) 30
Bildnachweise (1) Fragezeichen (Abschlussfolie): Icon Archive.com: Help-Icon. http://www.iconarchive.com/show/cristalintense-icons-by-tatice/help-icon.html (04.04.2013) Graph (Agenda-Folien): wikipedia.org: Abstrakter Graph. http://upload.wikimedia.org/wikipedia/commons/thumb/ 6/61/Konigsburg_graph.svg/200px- Konigsburg_graph.svg.png (04.04.2013) Ausrufezeichen (Agendafolien): Wiki.com: Ausrufezeichen. http://images.wikia.com/fahrschule/images/f/f5/ausrufe zeichen.gif (04.04.2013) 31
Bildnachweise (2) Lupe (Agendafolien): IconArchive.com: Zoom Icon. http://www.iconarchive.com/show/sleek-xp-basicicons-by-deleket/zoom-icon.html (04.04.2013) Blitz (Motivationsfolie): Eggerelektor.de: Blitz. http://eggerelektro.de/assets/images/ets_logo_blitz.jpg (04.04.2013) Anhang-Deckblatt: IconArchive.com: Blue Books Icon. http://icons.iconarchive.com/icons/mcdo-design/cats- 2/128/Blue-Books-icon.png (16.04.2013) 32
Bildnachweise (3) HyperGraphDB-Logo (Agendafolien u.a.): Hypergraphdb.org: http://www.hypergraphdb.org/index (04.04.2013) 33