16
Dresden, 21.03.2016 Benchmarking von Graphdatenbanken Matthias Jordan

Benchmarking von Graphdatenbanken · PDF fileOrientDB Ergebnisse. Benchmarking von Graphdatenbanken Folie Nr. 16 Vergleich von Graphdatenbanken Erweiterung möglich Weitere Datenbanken

  • Upload
    hatuyen

  • View
    220

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Benchmarking von Graphdatenbanken · PDF fileOrientDB Ergebnisse. Benchmarking von Graphdatenbanken Folie Nr. 16 Vergleich von Graphdatenbanken Erweiterung möglich Weitere Datenbanken

Dresden, 21.03.2016

Benchmarking von Graphdatenbanken

Matthias Jordan

Page 2: Benchmarking von Graphdatenbanken · PDF fileOrientDB Ergebnisse. Benchmarking von Graphdatenbanken Folie Nr. 16 Vergleich von Graphdatenbanken Erweiterung möglich Weitere Datenbanken

Benchmarking von Graphdatenbanken Folie Nr. 2

Page 3: Benchmarking von Graphdatenbanken · PDF fileOrientDB Ergebnisse. Benchmarking von Graphdatenbanken Folie Nr. 16 Vergleich von Graphdatenbanken Erweiterung möglich Weitere Datenbanken

Benchmarking von Graphdatenbanken Folie Nr. 3

Relationale Datenbanken für Graphen ungeeignet

Emil Eifrem, NeoTechnology

Vergleich von GDB und RDB

• 1. Messung: GDB: 2 ms, RDB: 2000 ms

• 2. Messung: GDB: 2 ms, RDB: ∞ ms

GDB vs. RDB

Page 4: Benchmarking von Graphdatenbanken · PDF fileOrientDB Ergebnisse. Benchmarking von Graphdatenbanken Folie Nr. 16 Vergleich von Graphdatenbanken Erweiterung möglich Weitere Datenbanken

Benchmarking von Graphdatenbanken Folie Nr. 4

Viele verschiedene GDB vorhanden

Wahl einer geeigneten Datenbank?

Benchmark

Die Qual der Wahl

Page 5: Benchmarking von Graphdatenbanken · PDF fileOrientDB Ergebnisse. Benchmarking von Graphdatenbanken Folie Nr. 16 Vergleich von Graphdatenbanken Erweiterung möglich Weitere Datenbanken

Benchmarking von Graphdatenbanken Folie Nr. 5

LDBC

2 Benchmarks

3 Workloads: Interactive, Business Intelligence,

Graph Analytics

Bietet Graphgenerator

Graphalytics

Vor allem für verteilte Systeme

Nutzt LDBC-Graphgenerator

Existierende Benchmarks 1

Page 6: Benchmarking von Graphdatenbanken · PDF fileOrientDB Ergebnisse. Benchmarking von Graphdatenbanken Folie Nr. 16 Vergleich von Graphdatenbanken Erweiterung möglich Weitere Datenbanken

Benchmarking von Graphdatenbanken Folie Nr. 6

Graph500

Für HPC

BFS auf verschieden großen Datensätzen

Seit 2010 halbjährlich

XDGBench

Für HPC

7 Workloads

Existierende Benchmarks 2

Page 7: Benchmarking von Graphdatenbanken · PDF fileOrientDB Ergebnisse. Benchmarking von Graphdatenbanken Folie Nr. 16 Vergleich von Graphdatenbanken Erweiterung möglich Weitere Datenbanken

Benchmarking von Graphdatenbanken Folie Nr. 7

Graphanalyse-Framework

Bietet:

• Graphgeneratoren: zufällig, Barabasi-Albert, …

• Graphoperationen: BFS, DFS, Clustering-Koeffizient, …

DNA

Page 8: Benchmarking von Graphdatenbanken · PDF fileOrientDB Ergebnisse. Benchmarking von Graphdatenbanken Folie Nr. 16 Vergleich von Graphdatenbanken Erweiterung möglich Weitere Datenbanken

Benchmarking von Graphdatenbanken Folie Nr. 8

Einheitliche Schnittstelle

Viele unterstützte Datenbanken:Neo4J, OrientDB, Bitsy, Tinkergraph

• TitanDB, Sparksee, …

Tinkerpop Blueprints

Page 9: Benchmarking von Graphdatenbanken · PDF fileOrientDB Ergebnisse. Benchmarking von Graphdatenbanken Folie Nr. 16 Vergleich von Graphdatenbanken Erweiterung möglich Weitere Datenbanken

Benchmarking von Graphdatenbanken Folie Nr. 9

Einführung eines neuen Interfaces

Eigene Klasse für Blueprints

Wahl der GDB über Konfigurationsdatei möglich

Neue Klasse zur Erstellung von Graphen

Implementierung

Page 10: Benchmarking von Graphdatenbanken · PDF fileOrientDB Ergebnisse. Benchmarking von Graphdatenbanken Folie Nr. 16 Vergleich von Graphdatenbanken Erweiterung möglich Weitere Datenbanken

Benchmarking von Graphdatenbanken Folie Nr. 10

Messwerterfassung - Setup

3 DNA-Datenstrukturen: Array, HashMultimap, Empty

4 Datenbanken: Bitsy, Neo4J, OrientDB, Tinkergraph

3 In-Memory: Bitsy, OrientDB, Tinkergraph

2 persistent: Bitsy, Neo4J

50 verschiedene Graph

Page 11: Benchmarking von Graphdatenbanken · PDF fileOrientDB Ergebnisse. Benchmarking von Graphdatenbanken Folie Nr. 16 Vergleich von Graphdatenbanken Erweiterung möglich Weitere Datenbanken

Benchmarking von Graphdatenbanken Folie Nr. 11

Messwerterfassung - Ablauf

Page 12: Benchmarking von Graphdatenbanken · PDF fileOrientDB Ergebnisse. Benchmarking von Graphdatenbanken Folie Nr. 16 Vergleich von Graphdatenbanken Erweiterung möglich Weitere Datenbanken

Benchmarking von Graphdatenbanken Folie Nr. 12

Graphgenerierung

Für 1000 Knoten und 100k Kanten

Page 13: Benchmarking von Graphdatenbanken · PDF fileOrientDB Ergebnisse. Benchmarking von Graphdatenbanken Folie Nr. 16 Vergleich von Graphdatenbanken Erweiterung möglich Weitere Datenbanken

Benchmarking von Graphdatenbanken Folie Nr. 13

BFS, DFS

Page 14: Benchmarking von Graphdatenbanken · PDF fileOrientDB Ergebnisse. Benchmarking von Graphdatenbanken Folie Nr. 16 Vergleich von Graphdatenbanken Erweiterung möglich Weitere Datenbanken

Benchmarking von Graphdatenbanken Folie Nr. 14

Lokaler Clustering-Koeffizient

Page 15: Benchmarking von Graphdatenbanken · PDF fileOrientDB Ergebnisse. Benchmarking von Graphdatenbanken Folie Nr. 16 Vergleich von Graphdatenbanken Erweiterung möglich Weitere Datenbanken

Benchmarking von Graphdatenbanken Folie Nr. 15

Rangfolge

Graph Workload 1. 2. 3. 4. 5. 6. 7. 8.

1k Knoten, gerichtet BFS oder DFS DNA

HashMultimapDNA

ArrayDNA

Empty Neo4J Tinkergraph

Bitsy(persistent)

Bitsy(In-Memory)

OrientDB

10k Knoten, gerichtet BFS oder DFS DNAArray

DNAEmpty

DNAHashMultimap

Neo4J TinkergraphBitsy

(persistent) Bitsy

(In-Memory) OrientDB

1k Knoten, ungerichtet BFS oder DFS DNA E DNAArray

DNAHashMultimap

TinkergraphBitsy

(persistent) Bitsy

(In-Memory) Neo4J OrientDB

10k Knoten, ungerichtet BFS oder DFS DNA E DNAArray

DNAHashMultimap

TinkergraphBitsy

(persistent) Bitsy

(In-Memory) Neo4J OrientDB

1k Knoten, gerichtet Lokaler Clustering-

Koeffizient

DNAArray

DNAHashMultimap

DNAEmpty

TinkergraphBitsy

(persistent) Bitsy

(In-Memory) Neo4J OrientDB

10k Knoten, gerichtet Lokaler Clustering-

Koeffizient DNA

ArrayDNA

HashMultimapDNA

EmptyTinkergraph Neo4J

Bitsy(In-Memory)

Bitsy(persistent)

OrientDB

Ergebnisse

Page 16: Benchmarking von Graphdatenbanken · PDF fileOrientDB Ergebnisse. Benchmarking von Graphdatenbanken Folie Nr. 16 Vergleich von Graphdatenbanken Erweiterung möglich Weitere Datenbanken

Benchmarking von Graphdatenbanken Folie Nr. 16

Vergleich von Graphdatenbanken

Erweiterung möglich

Weitere Datenbanken hinzufügen

Weitere Messungen

Import-Funktion

Fazit & Ausblick