SlideShare a Scribd company logo
1 of 25
Download to read offline
Henning Rauch
                                                          henning@sones.de
                                                               Sones GmbH




         Graphdatenbanken



         Vorlesung Uni Stuttgart
         Datenbanken
         Stuttgart 02/2011


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

     Knoten

                                      Gerichtete Kante
               Vertex0                                        Vertex1



   Einfache Modellierung alltäglicher Probleme




                                                                           7
Confidential                           sones GmbH| 2/9/2011                    1
Einleitung / 6 – Definition Graphdatenmodell



   Zusätzliche Knoten- / Kantengewichte




                                Stuttgart




                                260 km
               Jena                                      Berlin

                      ungerichtete / gewichtete Kante


                                                                    8
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




               Name : Alice        Kommuniziert mit                Name : Bob
                  ID : 0                                             ID : 1
                 Age : 23             Encrypted : true              Age : 42
                                       Method : RSA




   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
Confidential                             sones GmbH| 2/9/2011                        1
Graphdatenbanken / 3 – Property Graph Datenmodell




               Name : TU                                              Name : Uni
                Ilmenau                                                Stuttgart
                                                 Name : Carol
                                                    ID : 3
                                                   Age : 18




                       Name: Alice            Kommuniziert mit      Name : Bob
                         ID : 0                                       ID : 1
                        Age : 23                 Encrypted : true    Age : 42
                                                  Method : RSA




                                                                                   11
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

       User                                      Kommunizert mit
       ID           Name       Alter             User_ID1           User_ID2
       0            Alice      23                0                  1
       1            Bob        42                1                  0


                                                                               13
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




   Explizites Datenmodell
   Direkte Abbildung realer Netzwerkstrukturen
   Besseres Verständnis der Anwendungsdomäne



                                                                15
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



   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




                                                                   18
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



          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



                                                                          21
Confidential                     sones GmbH| 2/9/2011                          1
sones GraphDB / 2 – Property Hypergraph




                                                   Edge

                                                        Person Freund        Bob
                                                                              ID = 2
                                                        seit : 2009/09/21
                          Hyperedge                                         Alter = 23


           Alice       SET<Person> Freunde
            ID = 1        SetMaxNumber : 12
          Alter = 21

                        Hyperedge-Properties
                                                        Person Freund       Carol
                                                                              ID = 3
                                                        seit : 2010/04/11
                                                                            Alter = 20




                                                                                         22
Confidential                             sones GmbH| 2/9/2011                                 1
sones GraphDB / 3 – Graph Query Language



      // 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‘)




                                                                      23
Confidential                          sones GmbH| 2/9/2011                 1
sones GraphDB / 4 – Live Demo




               Demo




                                                     24
Confidential   sones GmbH| 2/9/2011                       1
Kontakt


      Henning Rauch
      Head of R&D
      henning@sones.com
      Xing: Henning_Rauch
      Twitter: cosh23
                             sones GmbH
                             Schillerstraße 5
                             04109 Leipzig

                             +49-341-3929680
                                                         25
Confidential                sones GmbH| 2/9/2011              1

More Related Content

Viewers also liked

Modelling differential clustering and treatment effect heterogeneity in paral...
Modelling differential clustering and treatment effect heterogeneity in paral...Modelling differential clustering and treatment effect heterogeneity in paral...
Modelling differential clustering and treatment effect heterogeneity in paral...Karla hemming
 
Frank Celler – Processing large-scale graphs with Google(TM) Pregel - NoSQL m...
Frank Celler – Processing large-scale graphs with Google(TM) Pregel - NoSQL m...Frank Celler – Processing large-scale graphs with Google(TM) Pregel - NoSQL m...
Frank Celler – Processing large-scale graphs with Google(TM) Pregel - NoSQL m...NoSQLmatters
 
Experimenting with Google Knowledge Graph & How Can we Potentially use it in...
 Experimenting with Google Knowledge Graph & How Can we Potentially use it in... Experimenting with Google Knowledge Graph & How Can we Potentially use it in...
Experimenting with Google Knowledge Graph & How Can we Potentially use it in...Pritesh Patel
 
Inside Google Knowledge Graph
Inside Google Knowledge GraphInside Google Knowledge Graph
Inside Google Knowledge GraphMatthew Brown
 
Neo4j Graph Database Presentation (German)
Neo4j Graph Database Presentation (German)Neo4j Graph Database Presentation (German)
Neo4j Graph Database Presentation (German)jexp
 
Leveraging SAP, Hadoop, and Big Data to Redefine Business
Leveraging SAP, Hadoop, and Big Data to Redefine BusinessLeveraging SAP, Hadoop, and Big Data to Redefine Business
Leveraging SAP, Hadoop, and Big Data to Redefine BusinessDataWorks Summit
 
Neo4j Use Cases - Graphdatenbanken im Einsatz
Neo4j Use Cases - Graphdatenbanken im EinsatzNeo4j Use Cases - Graphdatenbanken im Einsatz
Neo4j Use Cases - Graphdatenbanken im EinsatzNeo4j
 
Leveraging SAP, Hadoop, and Big Data to Redefine Business
Leveraging SAP, Hadoop, and Big Data to Redefine BusinessLeveraging SAP, Hadoop, and Big Data to Redefine Business
Leveraging SAP, Hadoop, and Big Data to Redefine BusinessDataWorks Summit
 
Enterprise knowledge graphs
Enterprise knowledge graphsEnterprise knowledge graphs
Enterprise knowledge graphsSören Auer
 
API-Industrie
API-IndustrieAPI-Industrie
API-Industriekspichale
 
Enterprise Knowledge Graph
Enterprise Knowledge GraphEnterprise Knowledge Graph
Enterprise Knowledge GraphLukas Masuch
 
Relational to Graph - Import
Relational to Graph - ImportRelational to Graph - Import
Relational to Graph - ImportNeo4j
 
Intro to Neo4j presentation
Intro to Neo4j presentationIntro to Neo4j presentation
Intro to Neo4j presentationjexp
 
Google Knowledge Graph
Google Knowledge GraphGoogle Knowledge Graph
Google Knowledge Graphkarthikzinavo
 
Deep Learning - The Past, Present and Future of Artificial Intelligence
Deep Learning - The Past, Present and Future of Artificial IntelligenceDeep Learning - The Past, Present and Future of Artificial Intelligence
Deep Learning - The Past, Present and Future of Artificial IntelligenceLukas Masuch
 
Kundenpräsentation junge helden
Kundenpräsentation junge heldenKundenpräsentation junge helden
Kundenpräsentation junge heldenSebastian Franz
 

Viewers also liked (19)

Modelling differential clustering and treatment effect heterogeneity in paral...
Modelling differential clustering and treatment effect heterogeneity in paral...Modelling differential clustering and treatment effect heterogeneity in paral...
Modelling differential clustering and treatment effect heterogeneity in paral...
 
HypergraphDB
HypergraphDBHypergraphDB
HypergraphDB
 
Frank Celler – Processing large-scale graphs with Google(TM) Pregel - NoSQL m...
Frank Celler – Processing large-scale graphs with Google(TM) Pregel - NoSQL m...Frank Celler – Processing large-scale graphs with Google(TM) Pregel - NoSQL m...
Frank Celler – Processing large-scale graphs with Google(TM) Pregel - NoSQL m...
 
Experimenting with Google Knowledge Graph & How Can we Potentially use it in...
 Experimenting with Google Knowledge Graph & How Can we Potentially use it in... Experimenting with Google Knowledge Graph & How Can we Potentially use it in...
Experimenting with Google Knowledge Graph & How Can we Potentially use it in...
 
Inside Google Knowledge Graph
Inside Google Knowledge GraphInside Google Knowledge Graph
Inside Google Knowledge Graph
 
Neo4j Graph Database Presentation (German)
Neo4j Graph Database Presentation (German)Neo4j Graph Database Presentation (German)
Neo4j Graph Database Presentation (German)
 
Enterprise Knowledge Graph
Enterprise Knowledge GraphEnterprise Knowledge Graph
Enterprise Knowledge Graph
 
Leveraging SAP, Hadoop, and Big Data to Redefine Business
Leveraging SAP, Hadoop, and Big Data to Redefine BusinessLeveraging SAP, Hadoop, and Big Data to Redefine Business
Leveraging SAP, Hadoop, and Big Data to Redefine Business
 
Neo4j Use Cases - Graphdatenbanken im Einsatz
Neo4j Use Cases - Graphdatenbanken im EinsatzNeo4j Use Cases - Graphdatenbanken im Einsatz
Neo4j Use Cases - Graphdatenbanken im Einsatz
 
Leveraging SAP, Hadoop, and Big Data to Redefine Business
Leveraging SAP, Hadoop, and Big Data to Redefine BusinessLeveraging SAP, Hadoop, and Big Data to Redefine Business
Leveraging SAP, Hadoop, and Big Data to Redefine Business
 
Enterprise knowledge graphs
Enterprise knowledge graphsEnterprise knowledge graphs
Enterprise knowledge graphs
 
API-Industrie
API-IndustrieAPI-Industrie
API-Industrie
 
Enterprise Knowledge Graph
Enterprise Knowledge GraphEnterprise Knowledge Graph
Enterprise Knowledge Graph
 
Relational to Graph - Import
Relational to Graph - ImportRelational to Graph - Import
Relational to Graph - Import
 
Intro to Neo4j presentation
Intro to Neo4j presentationIntro to Neo4j presentation
Intro to Neo4j presentation
 
Google Knowledge Graph
Google Knowledge GraphGoogle Knowledge Graph
Google Knowledge Graph
 
Deep Learning - The Past, Present and Future of Artificial Intelligence
Deep Learning - The Past, Present and Future of Artificial IntelligenceDeep Learning - The Past, Present and Future of Artificial Intelligence
Deep Learning - The Past, Present and Future of Artificial Intelligence
 
NoSQL - HyperGraphDB
NoSQL - HyperGraphDBNoSQL - HyperGraphDB
NoSQL - HyperGraphDB
 
Kundenpräsentation junge helden
Kundenpräsentation junge heldenKundenpräsentation junge helden
Kundenpräsentation junge helden
 

Vortrag Graphendatenbanken Uni Stuttgart

  • 1. Henning Rauch henning@sones.de Sones GmbH Graphdatenbanken Vorlesung Uni Stuttgart Datenbanken Stuttgart 02/2011 Confidential sones GmbH| 2/9/2011 1
  • 2. Agenda  Einleitung  Graphdatenbanken  Nachteile des relationalen Models  Vorteile von Graphdatenbanken  Einsatzszenarien  Sones GraphDB 2 Confidential sones GmbH| 2/9/2011 1
  • 3. 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
  • 4. Einleitung / 2 – Beispiel Soziales Netzwerk http://www.facebook.com/press/info.php?statistics 4 Confidential sones GmbH| 2/9/2011 1
  • 5. 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
  • 6. 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
  • 7. Einleitung / 5 – Definition Graphdatenmodell  Graph G(Vertices,Edges) – Vertices – Menge von Knoten V – Edges – Menge von Kanten E Knoten Gerichtete Kante Vertex0 Vertex1  Einfache Modellierung alltäglicher Probleme 7 Confidential sones GmbH| 2/9/2011 1
  • 8. Einleitung / 6 – Definition Graphdatenmodell  Zusätzliche Knoten- / Kantengewichte Stuttgart 260 km Jena Berlin ungerichtete / gewichtete Kante 8 Confidential sones GmbH| 2/9/2011 1
  • 9. 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
  • 10. Graphdatenbanken / 2 – Property Graph Datenmodell Name : Alice Kommuniziert mit Name : Bob ID : 0 ID : 1 Age : 23 Encrypted : true Age : 42 Method : RSA  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 Confidential sones GmbH| 2/9/2011 1
  • 11. Graphdatenbanken / 3 – Property Graph Datenmodell Name : TU Name : Uni Ilmenau Stuttgart Name : Carol ID : 3 Age : 18 Name: Alice Kommuniziert mit Name : Bob ID : 0 ID : 1 Age : 23 Encrypted : true Age : 42 Method : RSA 11 Confidential sones GmbH| 2/9/2011 1
  • 12. 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
  • 13. 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 User Kommunizert mit ID Name Alter User_ID1 User_ID2 0 Alice 23 0 1 1 Bob 42 1 0 13 Confidential sones GmbH| 2/9/2011 1
  • 14. 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
  • 15. Vorteile von Graphdatenbanken / 1 – Abstraktion  Explizites Datenmodell  Direkte Abbildung realer Netzwerkstrukturen  Besseres Verständnis der Anwendungsdomäne 15 Confidential sones GmbH| 2/9/2011 1
  • 16. 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
  • 17. 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
  • 18. Vorteile von Graphdatenbanken / 4 – Weitere Vorteile  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 18 Confidential sones GmbH| 2/9/2011 1
  • 19. 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
  • 20. 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
  • 21. sones GraphDB / 1 - Überblick  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 21 Confidential sones GmbH| 2/9/2011 1
  • 22. sones GraphDB / 2 – Property Hypergraph Edge Person Freund Bob ID = 2 seit : 2009/09/21 Hyperedge Alter = 23 Alice SET<Person> Freunde ID = 1 SetMaxNumber : 12 Alter = 21 Hyperedge-Properties Person Freund Carol ID = 3 seit : 2010/04/11 Alter = 20 22 Confidential sones GmbH| 2/9/2011 1
  • 23. sones GraphDB / 3 – Graph Query Language // 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‘) 23 Confidential sones GmbH| 2/9/2011 1
  • 24. sones GraphDB / 4 – Live Demo Demo 24 Confidential sones GmbH| 2/9/2011 1
  • 25. Kontakt Henning Rauch Head of R&D henning@sones.com Xing: Henning_Rauch Twitter: cosh23 sones GmbH Schillerstraße 5 04109 Leipzig +49-341-3929680 25 Confidential sones GmbH| 2/9/2011 1