graph database - soluções na literatura e implementações disponíveis

33
Graph Database Soluções na literatura e implementações disponíveis para melhorar a performace na manipulação de redes complexas José Alexandre Macedo

Upload: jose-alexandre-macedo

Post on 11-Jun-2015

787 views

Category:

Documents


0 download

DESCRIPTION

Apresentação das características dos modelos de graph database, aplicações que podem se beneficiar e opções disponíveis na literatura e na prática

TRANSCRIPT

Page 1: Graph database - Soluções na literatura e implementações disponíveis

Graph DatabaseSoluções na literatura e implementações disponíveis para

melhorar a performace na manipulação de redes complexas

José Alexandre Macedo

Page 2: Graph database - Soluções na literatura e implementações disponíveis

O que são redes complexas?

Page 3: Graph database - Soluções na literatura e implementações disponíveis

O que são redes complexas?

• Relacionamentos tão (ou mais)

importantes que os próprios

dados

• Geralmente compostas de

MUITOS dados

Page 4: Graph database - Soluções na literatura e implementações disponíveis

Quais as aplicações?

• Redes Sociais

Page 5: Graph database - Soluções na literatura e implementações disponíveis

Quais as aplicações?

• Redes de Informação

Page 6: Graph database - Soluções na literatura e implementações disponíveis

Quais as aplicações?

• Redes tecnológicas

Page 7: Graph database - Soluções na literatura e implementações disponíveis

Quais as aplicações?

• Redes biológicas

Page 8: Graph database - Soluções na literatura e implementações disponíveis

Manipulação de dados nas redes complexas

Banco de Dados

TradicionalGargalo

Page 9: Graph database - Soluções na literatura e implementações disponíveis

Manipulação de dados nas redes complexas

Page 10: Graph database - Soluções na literatura e implementações disponíveis

Manipulação de dados nas redes complexas

BALEIOU!

Page 11: Graph database - Soluções na literatura e implementações disponíveis

Qual a solução?

Page 12: Graph database - Soluções na literatura e implementações disponíveis

Graph Database!

Page 13: Graph database - Soluções na literatura e implementações disponíveis

Características dos Modelos de Graph Database

• Fundamentação baseada nas definições matemáticas de grafos

Page 14: Graph database - Soluções na literatura e implementações disponíveis

Características dos Modelos de Graph Database

• Componentes básicos– Estrutura de dados– Linguagem de transformação– Restrições de integridade

Page 15: Graph database - Soluções na literatura e implementações disponíveis

Vantagens do Graph Database

• Modelagem mais natural

• Consultas aproveitando a

estrutura dos grafos

• Maior nível de abstração

• Algoritmos de grafos para

operações específicas

Page 16: Graph database - Soluções na literatura e implementações disponíveis

• Exemplo de utilização– Redes Sociais

Graph Database + Redes Complexas

EU

João

Através de que pessoas eu conheço o João?ou seja,

Qual o caminho mínimo até João

Page 17: Graph database - Soluções na literatura e implementações disponíveis

Graph Database + Redes Complexas

• Exemplo de utilização– Redes Sociais

EU

João

Page 18: Graph database - Soluções na literatura e implementações disponíveis

Graph Database + Redes Complexas

• Exemplo de utilização– Redes Sociais

EU

João

Page 19: Graph database - Soluções na literatura e implementações disponíveis

Graph Database + Redes Complexas

• Exemplo de utilização– Redes Sociais

EU

João

Page 20: Graph database - Soluções na literatura e implementações disponíveis

Graph Database + Redes Complexas

• Exemplo de utilização– Redes Sociais

EU

João

Page 21: Graph database - Soluções na literatura e implementações disponíveis

Graph Database + Redes Complexas

• Exemplo de utilização– Redes Sociais

EU

João

Page 22: Graph database - Soluções na literatura e implementações disponíveis

Estado da Arte

(Angles, R. & Gutierrez, C. 2008)

Page 23: Graph database - Soluções na literatura e implementações disponíveis

Implementações de Graph Databases

Modelo Instância Ferramenta

Page 24: Graph database - Soluções na literatura e implementações disponíveis

Implementações de Graph Databases

Page 25: Graph database - Soluções na literatura e implementações disponíveis

Implementações de Graph Databases

Implementações Graph Model Linguagem Transações Algoritmos Licença

Neo4J Property-Graph Java ACID

Caminho mínimoTodos os caminhos

Todos os caminhos simplesDijkstra

A*

AGPLv3 Open Source

OrientDB Property-Graph Java ACID, MVCC N/A Apache 2.0

DEX Labeled and directed attributed multigraph Java, C++ ACID Parcial (consistência e

isolamento)

SinglePairShortestPathBFS,SinglePairShortestPathDijkstra,

TraversalBFS, TraversalDFS, WeakConnectivityDFS,

StrongConnectivityGabow

ComunidadePessoal

Academica

InfoGrid dynamically typed, object-oriented graph Java N/A N/A AGPLv3 Open Source

Comercial

HyperGraphDBObject-oriented multi-

relational labeled hypergraph

Java N/A

A*Bellman Ford

DijkstraFloyd Warshall

hasCyclesJohnsonKruskall

Prim

LGPL

InfiniteGraph Labelled directed multigraph Java Via Objectivity/DB N/A Comercial

SonesObject-oriented

Property-Graph with a simple Node-Ontology

C# N/A N/AAGPLv3

ComercialSaaS/DaaS

Page 26: Graph database - Soluções na literatura e implementações disponíveis

Na prática qual é ganho?

Page 27: Graph database - Soluções na literatura e implementações disponíveis

Na prática qual é ganho?

Vicknair, C. et al. (2010)

Page 28: Graph database - Soluções na literatura e implementações disponíveis

Na prática qual é ganho?

Vicknair, C. et al. (2010)

Graph databaseTamanho de 1,25 a 2 vezes maior!

Page 29: Graph database - Soluções na literatura e implementações disponíveis

Na prática qual é ganho?

Vicknair, C. et al. (2010)

Page 30: Graph database - Soluções na literatura e implementações disponíveis

Na prática qual é ganho?

Vicknair, C. et al. (2010)

Graph databaseAlgumas vezes 10x mais rápido!

Page 31: Graph database - Soluções na literatura e implementações disponíveis

Conclusão

• Graph databases são adequados para redes complexas

• A melhor implementação depende das características do problema

• Persistência poliglota pode ser a solução

Page 32: Graph database - Soluções na literatura e implementações disponíveis

Dúvidas

?

Page 33: Graph database - Soluções na literatura e implementações disponíveis

Referências• ANGLES, R. & GUTIERREZ, C. Survey of graph database models. ACM Comput. Surv., 40(1):1–

39, 2008.• VICKNAIR, C. et al. A Comparison of a Graph Database and a Relational Database. ACMSE

’10, Oxford, MS, USA, 2010.• IMPLEMENTAÇÕES GRAPH DATABASES. Acessado em: 27/06/2011

ww.graph-database.org/implementations/• ALGORITMOS DO NEO4J. Acessado em: 28/06/2011

http://docs.neo4j.org/chunked/stable/graph-algo.html• ALGORITMOS DO DEX. Acessado em: 28/06/2011

http://sparsity-technologies.com/downloads/javadoc.pdf• ALGORITMOS DO HYPERGRAPHDB. Acessado em: 28/06/2011

http://www.hypergraphdb.org/docs/javadoc/org/hypergraphdb/algorithms/GraphClassics.html