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

Post on 11-Jun-2015

787 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

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

melhorar a performace na manipulação de redes complexas

José Alexandre Macedo

O que são redes complexas?

O que são redes complexas?

• Relacionamentos tão (ou mais)

importantes que os próprios

dados

• Geralmente compostas de

MUITOS dados

Quais as aplicações?

• Redes Sociais

Quais as aplicações?

• Redes de Informação

Quais as aplicações?

• Redes tecnológicas

Quais as aplicações?

• Redes biológicas

Manipulação de dados nas redes complexas

Banco de Dados

TradicionalGargalo

Manipulação de dados nas redes complexas

Manipulação de dados nas redes complexas

BALEIOU!

Qual a solução?

Graph Database!

Características dos Modelos de Graph Database

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

Características dos Modelos de Graph Database

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

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

• 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

Graph Database + Redes Complexas

• Exemplo de utilização– Redes Sociais

EU

João

Graph Database + Redes Complexas

• Exemplo de utilização– Redes Sociais

EU

João

Graph Database + Redes Complexas

• Exemplo de utilização– Redes Sociais

EU

João

Graph Database + Redes Complexas

• Exemplo de utilização– Redes Sociais

EU

João

Graph Database + Redes Complexas

• Exemplo de utilização– Redes Sociais

EU

João

Estado da Arte

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

Implementações de Graph Databases

Modelo Instância Ferramenta

Implementações de Graph Databases

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

Na prática qual é ganho?

Na prática qual é ganho?

Vicknair, C. et al. (2010)

Na prática qual é ganho?

Vicknair, C. et al. (2010)

Graph databaseTamanho de 1,25 a 2 vezes maior!

Na prática qual é ganho?

Vicknair, C. et al. (2010)

Na prática qual é ganho?

Vicknair, C. et al. (2010)

Graph databaseAlgumas vezes 10x mais rápido!

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

Dúvidas

?

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

top related