Download - NoSQL - HyperGraphDB
NoSQLGraphdatenbanken mit HyperGraphDB
Tage der DatenbankenDonnerstag, 20.06.2013
Ludger Schönfeld, B. Sc.
ludger.schoenfeld[at]smail.fh-koeln.de
2
Agenda
1. Einleitung/Motivation
2. Graphendatenbanken – Die Theorie
3. Arbeiten mit der HyperGraphDB
4. Fazit/Ausblick
3
Agenda
1. Einleitung/Motivation
2. Graphendatenbanken – Die Theorie
3. Arbeiten mit der HyperGraphDB
4. Fazit/Ausblick
Warum Graphen-DB?
� Vielerlei Anwendungen in der Informatik von Graphen� Soziale Netze (Facebook,5)
� Produktionsplanung – Stücklisten
� 5
� Abbildung von Graphen im RDBMS: „Performance“-Problem� Lösung: Graphendatenbanken
4Vgl. Edlich u.a., 2010, S. 169-170 & 180
Fallstudie „Fahrradhersteller“ (1)
� ER-Diagramm (Ausschnitt)
5Vgl. Faeskorn-Woyke/Bertelsmeier u.a., 2007, S. 99
Relation„Teile“
Relation„Struktur“
Fallstudie „Fahrradhersteller“ (2)
� Bauteile eines Fahrrads (Gozintograph)
6
7
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
8
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
Bestandteile eines Graphen: G= (V, E)
� Knoten(menge) => V (engl. vertices)
� Kanten(menge) => E (engl. edges)� Gerichtete und ungerichtete Kanten
� Speicherung von weiteren Informationen möglich (Labels/Properties)
9Vgl. Edlich u.a., S. 172
Label 1
Label 2
Label: 1,5
Hypergraph
� Besitzt Hyperkanten
� Gerichteter Graph: Startknoten 1 : n Zielknoten
� Ungerichteter Graph: Menge von Knoten
� Vorteil(e)?
� Nachteil(e)?
10Vgl. Edb Wiki FH Köln, Campus Gummersbach: Hypergraph
11
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
Das Property-Graph-Model
� Gerichteter, multi-relationaler Graph
� Knoten & Kanten speichern Eigenschaften (Properties) � Form: Key-/Value-Beziehungen
� Beispiel: „Name: Andre“
12Vgl. Edlich u.a., S. 173
Vgl. Edb Wiki FH Köln, Campus Gummersbach: Das Property-Graph-Modell
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
Agenda
1. Einleitung/Motivation
2. Graphendatenbanken – Die Theorie
3. Arbeiten mit der HyperGraphDB
a. Übersicht
b. Das Datenmodell
c. Live-Demo
4. Fazit/Ausblick
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
15Vgl. Edlich u.a., 2010, S. 223, S. 227 & hypergraphdb.org: What is it? sowie Oracle 2009
*Vgl. hypergraphdb.org: Possible Usage Scenarios.
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)
16Vgl. Edlich u.a., 2010, S. 223, S. 227 & hypergraphdb.org: What is it? sowie Oracle 2009
17
Agenda
1. Einleitung/Motivation
2. Graphendatenbanken – Die Theorie
3. Arbeiten mit der HyperGraphDB
a. Übersicht
b. Das Datenmodell
c. Live-Demo
4. Fazit/Ausblick
Das Datenmodell (Überblick & Vergleich)Das Property-Graph-
Modell (zum Vergleich)
Modell der HyperGraphDB
18
Vgl. Edlich u.a. 2010, S. 223 & Iordanov 2010, S. 3 sowie Abb. in Anlehnung an: Iordanov o. J., Folie 8
Typen als Bestandteil des Hypergraphen
19
Visualisiert mit dem HGViewer
20
Agenda
1. Einleitung/Motivation
2. Graphendatenbanken – Die Theorie
3. Arbeiten mit der HyperGraphDB
a. Übersicht
b. Das Datenmodell
c. Live-Demo
4. Fazit/Ausblick
Live-Demo: HyperGraphDB
21
22
Agenda
1. Einleitung/Motivation
2. Graphendatenbanken – Die Theorie
3. Arbeiten mit der HyperGraphDB
4. Fazit/Ausblick
Fazit – KaWa* „HyperGraphDB“
23
Hypergraph
(Datenmodell)
Eingebettete
DB
Replikation:
P2P-Framework
*Technik „KaWa“: nach Vera F. Birkenbihl
Graphdatenbank
Graphenalgorithmen:
Breiten-/Tiefensuche
Persistenz-
basis
Berkeley DBAtom
ACI(D)
APIsDatenmodell
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!
5Noch Fragen/Anmerkungen?
26
ANHANG
27
Literatur (1)
� Edb Wiki FH Köln, Campus Gummersbach: Das Property-Graph-Modell. http://wikis.gm.fh-koeln.de/wiki_db/Datenbanken/PropertyGraphModell(07.05.2013)
� Edb Wiki FH Köln, Campus Gummersbach: Hypergraph. http://wikis.gm.fh-koeln.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 ComplexSystem“. 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/berkeley-db-v-relational-066565.pdf (23.04.2013)
30
Bildnachweise (1)
� Fragezeichen (Abschlussfolie): Icon Archive.com: Help-Icon. http://www.iconarchive.com/show/cristal-intense-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/Ausrufezeichen.gif (04.04.2013)
31
Bildnachweise (2)
� Lupe (Agendafolien): IconArchive.com: Zoom Icon. http://www.iconarchive.com/show/sleek-xp-basic-icons-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