graph databases

38
Università degli Studi di Salerno Simone Scalabrino Prof.ssa G. Tortora NoSQL Graph Databases Sistemi Informatici e Tecnologie del Software Basi di Dati II Anno 2013/2014 Prof. G. Polese Carlo Branca Matteo Merola Giovanni Grano

Upload: sscalabrino

Post on 03-Jul-2015

69 views

Category:

Software


0 download

DESCRIPTION

An introduction to graph databases, which shows pros and cons of this kind NoSQL databases.

TRANSCRIPT

Page 1: Graph databases

Università degli Studi di Salerno

Simone Scalabrino

Prof.ssa G. Tortora

NoSQL Graph Databases

Sistemi Informatici e Tecnologie del Software

Basi di Dati IIAnno 2013/2014

Prof. G. Polese

Carlo Branca

Matteo Merola

Giovanni Grano

Page 2: Graph databases

Progettazione di un RDBMS

Modello concettuale

Page 3: Graph databases

Progettazione di un RDBMS

Modello concettualerifinito

Page 4: Graph databases

Progettazione di un RDBMS

Modello logico

Page 5: Graph databases

Progettazione di un RDBMS

SQL

Page 6: Graph databases

Progettazione di un RDBMS

Tanti modelli!

Page 7: Graph databases

Dove sono le relazioni?

Page 8: Graph databases

Dove sono le relazioni?

Nascoste nei modelli di basso livello

Ricostruibili solo attraverso join

Page 9: Graph databases

Si possono superare questi limiti?

Page 10: Graph databases

Graph Database

Page 11: Graph databases

Grafo orientato

nodo

nodo

nodo

nodoarco arco

arco

arco

Page 12: Graph databases

Verso un nuovo tipo di grafo...

nodo

nodo

nodo

nodorelazione relazione

relazione

relazione

Page 13: Graph databases

Grafo con proprietà

nodo

nodo

nodo

nodorelazione relazione

relazione

relazione

Proprietà 1: Valore 1Proprietà 2: Valore 2…Proprietà n: Valore n

Etichetta

Page 14: Graph databases

… le relazioni sono centrali!

In un grafo con proprietà...

Page 15: Graph databases

In un grafo con proprietà...

… le relazioni sono centrali!

Più del

dell'informazione

Page 16: Graph databases

Progettazione

Page 17: Graph databases

Scenario-based

Page 18: Graph databases

Scenario-based

Dinamico

Aiuta a comprendere il dominio applicativo

Modellazione test-driven

Page 19: Graph databases

Model-based

Area

Artist

Track

Recording

Work

ReleaseMedium

Label

FROM_AREA

CREDITED_ON

CREDITED_ON

IS_RECORDING

PERFORMANCE

APPEARS_ON RELEASED_ON

RELEASED_ON

Page 20: Graph databases

Model-based

Area

Artist

Track

Recording

Work

ReleaseMedium

Label

FROM_AREA

CREDITED_ON

CREDITED_ON

IS_RECORDING

PERFORMANCE

APPEARS_ON RELEASED_ON

RELEASED_ON

Aiuta nella definizionedi query complesse

Molto simile a undiagramma ER

Permette di farerequirement elicitation

Page 21: Graph databases

Confronto

Page 22: Graph databases

Esperimento

Page 23: Graph databases

Esperimento

utentitra

Trovare gli amici di amici

Page 24: Graph databases

Profondità 20

0

0

0,01

0,01

0,01

0,01

0,01

0,02

RDBMS

Graph DB

Tempi di risposta

Page 25: Graph databases

Profondità 2 Profondità 30

5

10

15

20

25

30

35

RDBMS

Graph DB

Tempi di risposta

Page 26: Graph databases

Profondità 2 Profondità 3 Profondità 40

200

400

600

800

1000

1200

1400

1600

RDBMS

Graph DB

Tempi di risposta

Page 27: Graph databases

Live demoLive demo

Page 28: Graph databases

Live demo

PersonMessage

Tag

Link

MENTIONS

TWEETED

USED

TAGS

LINKS

KN

OW

S

Page 29: Graph databases

Live demo

Page 30: Graph databases

Quando scegliere i grafi?

Page 31: Graph databases

Quando scegliere i grafi?

Tanti dati prodotti

Progettazione rapida

Performance

Relazioni importanti

Page 32: Graph databases

Quando non scegliere i grafi

Page 33: Graph databases

Quando non scegliere i grafi

Linguaggi

Poche relazioni

Sistemi critici

Sharding

Page 34: Graph databases

In sintesi

Page 35: Graph databases

Approfondimenti

Page 36: Graph databases

Approfondimenti

Page 37: Graph databases

Approfondimenti

Page 38: Graph databases

Grazie per l'attenzione!

Simone [email protected]

Università degli Studi di Salerno

http://goo.gl/NHIC8k