vortrag graphendatenbanken uni stuttgart
Post on 12-May-2015
2.181 Views
Preview:
TRANSCRIPT
Confidential sones GmbH| 2/9/2011 1
Graphdatenbanken
Vorlesung Uni Stuttgart
Datenbanken
Stuttgart 02/2011
Henning Rauch
henning@sones.de
Sones GmbH
Confidential sones GmbH| 2/9/2011 1
Agenda
Einleitung
Graphdatenbanken
Nachteile des relationalen Models
Vorteile von Graphdatenbanken
Einsatzszenarien
Sones GraphDB
2
Confidential sones GmbH| 2/9/2011 1
Einleitung / 1 – Aktuelle Situation
Datenintensive, komplexe, verteilte Anwendungen
– Semantic Web
– Empfehlungssysteme
– Soziale Netzwerke
– Geoinformationssysteme
– Bioinformatik
– …
Gemeinsamkeiten
– Stark vernetzte, umfangreiche Datenmengen
– Komplexe Strukturen
– Stetiges Wachstum der Datenmenge
– Strukturierte oder semi-strukturierte (schemalose) Beschreibung
3
Confidential sones GmbH| 2/9/2011 1
Einleitung / 2 – Beispiel Soziales Netzwerk
http://www.facebook.com/press/info.php?statistics
4
Confidential sones GmbH| 2/9/2011 1
Einleitung / 3 – Neue Probleme
Effizientes (rekursives) Verknüpfen von
Datensätzen?
Beschreibung der Daten /
Datenmodellierung?
Effiziente (verteilte) Speicherung?
(Horizontale) Skalierbarkeit?
5
Confidential sones GmbH| 2/9/2011 1
Einleitung / 4 – Neue Anforderungen
Rekursiv vernetze Informationen als neues Designziel
Einfache Verwaltung strukturierter, semistrukturierter, unstrukturierter
Datensätze
Bessere Integration in objektorientierte Entwicklung
Replikation von Datensätzen
Versionierung von Datensätzen
Effiziente Partitionierung von Datensätzen
Graphenorientierte Operationen
6
Confidential sones GmbH| 2/9/2011 1
Einleitung / 5 – Definition Graphdatenmodell
Graph G(Vertices,Edges)
– Vertices – Menge von Knoten V
– Edges – Menge von Kanten E
Einfache Modellierung alltäglicher Probleme
7
Vertex0 Vertex1
Knoten
Gerichtete Kante
Confidential sones GmbH| 2/9/2011 1
Einleitung / 6 – Definition Graphdatenmodell
Zusätzliche Knoten- / Kantengewichte
8
Jena Berlin
Stuttgart
260 km
ungerichtete / gewichtete Kante
Confidential sones GmbH| 2/9/2011 1
Graphdatenbanken / 1 – Definition
A graph database is a database that uses graph structures with
nodes, edges, and properties to represent and store
information. General graph databases that can store any graph
are distinct from specialized graph databases such as
triplestores and network databases.
http://en.wikipedia.org/wiki/Graph_database
9
Confidential sones GmbH| 2/9/2011 1
Graphdatenbanken / 2 – Property Graph Datenmodell
Erweiterung des Graphdatenmodells
– Zusätzliche Eigenschaften (Properties) an Knoten und Kanten
– Properties sind Key/Value Paare (Age:23)
– Keys werden vom Schema des Knotentyps vorgegeben
Property Graph ist ein gerichteter, multi-relationaler Graph
10
Name : AliceID : 0
Age : 23
Name : BobID : 1
Age : 42
Kommuniziert mit
Encrypted : true
Method : RSA
Confidential sones GmbH| 2/9/2011 1
Graphdatenbanken / 3 – Property Graph Datenmodell
11
Name: AliceID : 0
Age : 23
Name : BobID : 1
Age : 42
Kommuniziert mit
Encrypted : true
Method : RSA
Name : CarolID : 3
Age : 18
Name : TU Ilmenau
Name : UniStuttgart
Confidential sones GmbH| 2/9/2011 1
Nachteile relationales Modell / 1 – Unflexible Datenhaltung
Änderungen des Schemas sehr aufwändig
– ALTER TABLE
Keine semistrukturierten / unstrukturierten Daten
– z.B. XML, JSON, …
Keine Listenattribute
– List<String>, Set<Integer>, Set<User>
Keine Möglichkeit einfacher Versionierung von Datensätzen
12
Confidential sones GmbH| 2/9/2011 1
Nachteile relationales Modell / 2 – Foreign Key Constraints
Darstellung von 1:n bzw. n:m nur über zusätzliche Mapping-
Tabellen
– Kein explizites Konzept für Beziehungen / Relationen
Verknüpfung von Tabellen über rechenintensive JOIN
Anweisungen
Keine rekursiven JOINs
13
ID Name Alter
0 Alice 23
1 Bob 42
User_ID1 User_ID2
0 1
1 0
User Kommunizert mit
Confidential sones GmbH| 2/9/2011 1
Nachteile relationales Modell / 3 – Skalierbarkeit
Keine explizite Möglichkeit zur Skalierung und Partitionierung
innerhalb des relationen Modells
Keine JOINs zwischen verteilten Datenbanksystemen / -
herstellern
Keine integrierte Unterstützung aktueller state-of-the-art Web
Technologien
– HTTP/REST, Hypermedia, Semantic Web
14
Confidential sones GmbH| 2/9/2011 1
Vorteile von Graphdatenbanken / 1 – Abstraktion
15
Explizites Datenmodell
Direkte Abbildung realer Netzwerkstrukturen
Besseres Verständnis der Anwendungsdomäne
Confidential sones GmbH| 2/9/2011 1
Vorteile von Graphdatenbanken / 2 – Indexfreie Adjazenz
Beziehungen / Relationen über Kanten direkt am Knoten
modelliert
– Kein zusätzliches Mapping erforderlich
Keine Indizes für Relationen erforderlich
– Hohe Performance beim Abfragen des Graphen
– Jeder Knoten agiert als „mini-index“
Datenlokalität / effiziente Speicherung
– Adjazente Knoten können „nah beieinander“ persistiert werden
Performance ist unabhängig von der Größe des Graphen
16
Confidential sones GmbH| 2/9/2011 1
Vorteile von Graphdatenbanken / 3 – Traversierung
Eine der wichtigsten Operationen innerhalb von
Graphdatenbanken
Teilweise oder vollständige Abfrage eines Graphen
– Aufbau einer Baumstruktur
Suchen nach Knoten / Kanten mit bestimmen Eigenschaften
– z.B. User mit mehr als 500 Freunden (Naben)
Verschiedene Traversierungsmethoden
– Breitensuche, Tiefensuche, algorithmische Traversierung, Random
Walks
17
Confidential sones GmbH| 2/9/2011 1
Vorteile von Graphdatenbanken / 4 – Weitere Vorteile
18
Unterstützung von state-of-the-art Schnittstellen
Grundlage für wissenschaftliche Analysen realer
Netzwerkstrukturen
Zusätzliche Indizes für einfache Attribute oder komplexe
Subgraphen
Konzipiert für den Einsatz in verteilten Systemen / Cloud-
Angeboten
Confidential sones GmbH| 2/9/2011 1
Einsatzszenarien / 1 – Graphenbasierte Algorithmen
Bewerten von Websites in Suchmaschinen – page rank
Wer-kennt-wen in sozialen Netzwerken – shortest path
Empfehlungssysteme – biparite matching
Verkehrsinfrastrukturen – minimum spanning tree
Erkennen von Naben in Netzwerken – betweenness centrality
Transportplanoptimierung – maximum flow
…
19
Confidential sones GmbH| 2/9/2011 1
Einsatzszenarien / 2 – Business Use-Cases
Web
– Klickpfad-Analyse – Welche Wege nehmen die Kunden auf dem
Portal?
Universal Data Access
– Zentrales Metadaten-Repository – Unternehmensdaten zentral
verwalten. Daten aus diversen redaktionellen Quellen (Bilder, Artikel,
etc.) verknüpfen
eCommerce
– Recommendations – Empfehlung der richtigen Produkte dem richtigen
Kunden zur richtigen Zeit (kundenspezifische Werbung)
…
20
Confidential sones GmbH| 2/9/2011 1
sones GraphDB / 1 - Überblick
21
URL http://www.sones.com
Kategorie Objektorientierte Graphdatenbank
Datenmodell Property-Hypergraph
Querymethode sones GQL, C#- / Java-API
Sprache C# 4.0 / .NET 4.0 / Mono
Protokoll REST (JSON, XML, HTML, GEXF), WebDAV
Ziele Management und Verknüpfung
semistrukturierter Daten
Concurrency MVCC
Replikation Master Slave Replikation
Persistenz OSE: In-Memory GraphFS
Enterprise: Proprietäres persistentes GraphFS
Lizenz AGPLv3 und proprietär kommerziell
Confidential sones GmbH| 2/9/2011 1
sones GraphDB / 2 – Property Hypergraph
22
Person Freund BobID = 2
Alter = 23seit : 2009/09/21
Person Freund CarolID = 3
Alter = 20seit : 2010/04/11
SET<Person> Freunde
SetMaxNumber : 12
AliceID = 1
Alter = 21
Hyperedge-Properties
Hyperedge
Edge
Confidential sones GmbH| 2/9/2011 1
sones GraphDB / 3 – Graph Query Language
23
// sones GQL Example
// define Vertex Type (QDL)
CREATE VERTEX User
ADD ATTRIBUTES (String Name, SET<User> Friends)
INDICES (Name)
// add vertices Alice and Bob (QML)
INSERT INTO User VALUES (Name = "Alice", Age = 23)
INSERT INTO User VALUES (Name = "Bob", Age = 42)
// add edges between Alice and Bob (QML)
LINK User(Name = ‘Alice') VIA Friends TO User(Name = ‘Bob')
LINK User(Name = ‘Bob') VIA Friends TO User(Name = ‘Alice‘)
Confidential sones GmbH| 2/9/2011 1
sones GraphDB / 4 – Live Demo
Demo
24
Confidential sones GmbH| 2/9/2011 1
Kontakt
25
Henning Rauch
Head of R&D
henning@sones.com
Xing: Henning_Rauch
Twitter: cosh23sones GmbH
Schillerstraße 5
04109 Leipzig
+49-341-3929680
top related