O documento apresenta uma comparação entre os principais modelos de bancos de dados em grafos, descrevendo e analisando suas funcionalidades principais, como armazenamento de dados, operações, estruturas de grafos suportadas, representação de entidades e relações, consultas e integridade. O artigo conclui que a maioria fornece suporte básico a grafos, consultas e integridade, mas falta um padrão para linguagens de manipulação e consulta em grafos.
Banco de dados geográficos – Arquiteturas, banco de dados e modelagem
Comparison
1. CMP151 - Modelos Avançados de Bancos de Dados
A Comparison of Current
Graph Database Models
Renzo Angles
Department of Computer Science, Engineering Faculty, Universidad de Talca, Chile
ICDE Workshops 2012
Felipe Giacomel
Jose Lozano
2. 2/47
Divisão do Trabalho
I. Apresentação do Conteúdo do Artigo
II.Análise Crítica do Conteúdo do Artigo
III.Avaliação da Publicação
3. 3/47
Introdução
BDs relacionais não atendem a todos os requisitos
Novas tecnologias
Wide column stores (Big data)
Document stores (dados semi-estruturados)
Key-value stores
Graph databases
4. 4/47
Graph Databases
Áreas de interesse:
Química
Biologia
Web Mining
Web semântica
As relações são (no mínimo) tão importantes quanto as
entidades
A existência de uma ferramenta para tratar este tipo de
problema é cada vez mais necessária!
5. 5/47
Objetivos do artigo
Comparar os Graph Databases existentes, focando as
funcionalidades referentes a:
Modelo de dados
Interface para consultas
Constraints de integridade
Capacidade de realizar consultas em grafos
6. 6/47
Bancos de dados pesquisados
Foram estudados apenas os BDs que oferecem:
Interface com o usuário ou API
Linguagens DDL e DML
Otimização de consultas
Engine de banco de dados
Engine de armazenamento
Suporte a transações
Outras operações (backup, recuperação, tuning, etc.)
7. 7/47
Bancos de dados pesquisados
AllegroGraph
DEX
Filamemt
G-Store
HyperGraph
Foram escolhidos os seguintes bancos de dados
InfiniteGraph
Neo4j
Sones
VertexDB
10. 10/47
Comparação entre os modelos
1.Armazenamento de dados
2.Funções de operação e manipulação
3.Estruturas de grafos presentes
4.Representação de entidades e relações
5.Suporte a consultas
6.Constraints de integridade
7.Queries essenciais
13. 13/47
Comparação entre os modelos
1.Armazenamento de dados
2.Funções de operação e manipulação
3.Estruturas de grafos presentes
4.Representação de entidades e relações
5.Suporte a consultas
6.Constraints de integridade
7.Queries essenciais
14. 14/47
Funções de operação e manipulação
DDL: linguagem de definição de dados
DML: linguagem de manipulação de dados
Uso de queries
API
GUI
19. 19/47
Comparação entre os modelos
1.Armazenamento de dados
2.Funções de operação e manipulação
3.Estruturas de grafos presentes
4.Representação de entidades e relações
5.Suporte a consultas
6.Constraints de integridade
7.Queries essenciais
20. 20/47
Estruturas de grafos presentes
Grafos
Grafos simples
Hipergrafos
Grafos alinhados
Grafos com atributos
Nodos
Rótulos nos nodos
Atribuição de nodos
Arestas
Direcionadas
Rótulos nas arestas
Atribuição de arestas
22. 22/47
Comparação entre os modelos
1.Armazenamento de dados
2.Funções de operação e manipulação
3.Estruturas de grafos presentes
4.Representação de entidades e relações
5.Suporte a consultas
6.Constraints de integridade
7.Queries essenciais
23. 23/47
Representação de entidades e relações
Schema (tipos de dados)
Nodos
Propriedades
Relações
Instância
Nodos-objeto
Nodos valorados
Nodos complexos
Relações simples
Relações complexas
25. 25/47
Comparação entre os modelos
1.Armazenamento de dados
2.Funções de operação e manipulação
3.Estruturas de grafos presentes
4.Representação de entidades e relações
5.Suporte a consultas
6.Constraints de integridade
7.Queries essenciais
26. 26/47
Suporte a consultas
Tipo
Linguagem de consulta
API
Linguagem de consulta
gráfica
Uso
Recuperação
Raciocínio
Análise
30. 30/47
Comparação entre os modelos
1.Armazenamento de dados
2.Funções de operação e manipulação
3.Estruturas de grafos presentes
4.Representação de entidades e relações
5.Suporte a consultas
6.Constraints de integridade
7.Queries essenciais
31. 31/47
Constraints de integridade
Verificação de tipos
Identidade de nodos/arestas
Integridade referencial
Verificação da cardinalidade
Dependência funcional
Constraints de padrão de grafos
33. 33/47
Comparação entre os modelos
1.Armazenamento de dados
2.Funções de operação e manipulação
3.Estruturas de grafos presentes
4.Representação de entidades e relações
5.Suporte a consultas
6.Constraints de integridade
7.Queries essenciais
34. 34/47
Queries essenciais
Adjacência
Entre nodos/vértices
K-vizinhança
Outros
Reconhecimento de
padrões
Sumarização
Alcançabilidade
Caminhos de
comprimento fixo
Caminhos simples
Caminho mais curto
37. 37/47
Conclusão do Artigo
A maioria dos modelos pesquisados fornecem suporte a:
Diferentes estruturas de grafos
Consultas (na forma de APIs)
Noções básicas de integridade
Apenas alguns permitem consultas com queries
Falta a definição de uma linguagem padrão para
operações DDL e DML em grafos
38. 38/47
Divisão do Trabalho
I. Apresentação do Conteúdo do Artigo
II.Análise Crítica do Conteúdo do Artigo
III.Avaliação da Publicação
39. 39/47
Análise Crítica
Relacionamento do artigo com os assuntos tratados na
disciplina e/ou com modelos de BD;
O artigo traz à tona um tema pouco explorado, apesar de
interessante;
O foco nas funcionalidades dos SGBDs para grafos;
Apresenta os produtos mais conhecidos disponíveis;
Menciona a falta de um padrão para linguagens de
consulta em grafos.
40. 40/47
Análise Crítica
Aspectos positivos do artigo:
Boa organização dos conceitos estudados, através de
quadros comparativos;
Grande número de comparações feitas;
Os conceitos comparados são descritos de forma
objetiva, facilitando a comparação por parte do leitor.
41. 41/47
Análise Crítica
Aspectos negativos do artigo:
Muito teórico - não apresenta exemplos práticos (no
caso de consultas, por exemplo);
Não possui contribuição cientifica, pois o objetivo do
artigo é a comparação entre os BDs existentes;
Existem bancos de dados (alguns pagos) que não
entraram no estudo e nem foram mencionados.
Graph Database, Titan, Oracle
42. 42/47
Análise Crítica
Sugestões para melhorar o artigo:
Usar níveis de avaliação, ao invés de sim/não;
Na conclusão, escrever uma opinião sobre qual (ou
quais) aplicações são as recomendadas;
Avaliar o suporte ao usuário (ajuda, fóruns, etc);
43. 43/47
Divisão do Trabalho
I. Apresentação do Conteúdo do Artigo
II.Análise Crítica do Conteúdo do Artigo
III.Avaliação da Publicação
45. 45/47
Avaliação da Publicação
Avaliação dos autores
Para avaliar o G-Index, usamos a fórmula:
Segundo Scopus:
G-Index: 1,53
H-Index: 3
(g = maior numero de citações de um artigo)
46. 46/47
Avaliação da Publicação
Número de citações do artigo
Segundo Google Scholar, 4 referências
Publicações anteriores dos mesmos autores