32
NoSQL Graphdatenbanken mit HyperGraphDB Tage der Datenbanken Donnerstag, 20.06.2013 Ludger Schönfeld, B. Sc. ludger.schoenfeld[at]smail.fh-koeln.de

NoSQL - HyperGraphDB

Embed Size (px)

Citation preview

Page 1: NoSQL - HyperGraphDB

NoSQLGraphdatenbanken mit HyperGraphDB

Tage der DatenbankenDonnerstag, 20.06.2013

Ludger Schönfeld, B. Sc.

ludger.schoenfeld[at]smail.fh-koeln.de

Page 2: NoSQL - HyperGraphDB

2

Agenda

1. Einleitung/Motivation

2. Graphendatenbanken – Die Theorie

3. Arbeiten mit der HyperGraphDB

4. Fazit/Ausblick

Page 3: NoSQL - HyperGraphDB

3

Agenda

1. Einleitung/Motivation

2. Graphendatenbanken – Die Theorie

3. Arbeiten mit der HyperGraphDB

4. Fazit/Ausblick

Page 4: NoSQL - HyperGraphDB

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

Page 5: NoSQL - HyperGraphDB

Fallstudie „Fahrradhersteller“ (1)

� ER-Diagramm (Ausschnitt)

5Vgl. Faeskorn-Woyke/Bertelsmeier u.a., 2007, S. 99

Relation„Teile“

Relation„Struktur“

Page 6: NoSQL - HyperGraphDB

Fallstudie „Fahrradhersteller“ (2)

� Bauteile eines Fahrrads (Gozintograph)

6

Page 7: NoSQL - HyperGraphDB

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

Page 8: NoSQL - HyperGraphDB

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

Page 9: NoSQL - HyperGraphDB

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

Page 10: NoSQL - HyperGraphDB

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

Page 11: NoSQL - HyperGraphDB

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

Page 12: NoSQL - HyperGraphDB

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

Page 13: NoSQL - HyperGraphDB

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

Page 14: NoSQL - HyperGraphDB

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

Page 15: NoSQL - HyperGraphDB

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.

Page 16: NoSQL - HyperGraphDB

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

Page 17: NoSQL - HyperGraphDB

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

Page 18: NoSQL - HyperGraphDB

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

Page 19: NoSQL - HyperGraphDB

Typen als Bestandteil des Hypergraphen

19

Visualisiert mit dem HGViewer

Page 20: NoSQL - HyperGraphDB

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

Page 21: NoSQL - HyperGraphDB

Live-Demo: HyperGraphDB

21

Page 22: NoSQL - HyperGraphDB

22

Agenda

1. Einleitung/Motivation

2. Graphendatenbanken – Die Theorie

3. Arbeiten mit der HyperGraphDB

4. Fazit/Ausblick

Page 23: NoSQL - HyperGraphDB

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

Page 24: NoSQL - HyperGraphDB

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

Page 25: NoSQL - HyperGraphDB

Vielen Dank für Ihre Aufmerksamkeit!

5Noch Fragen/Anmerkungen?

26

Page 26: NoSQL - HyperGraphDB

ANHANG

27

Page 27: NoSQL - HyperGraphDB

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

Page 28: NoSQL - HyperGraphDB

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

Page 29: NoSQL - HyperGraphDB

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

Page 30: NoSQL - HyperGraphDB

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

Page 31: NoSQL - HyperGraphDB

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

Page 32: NoSQL - HyperGraphDB

Bildnachweise (3)

� HyperGraphDB-Logo (Agendafolien u.a.):

Hypergraphdb.org: http://www.hypergraphdb.org/index

(04.04.2013)

33