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/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/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/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/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/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/47
Bancos de dados pesquisados
AllegroGraph
DEX
Filamemt
G-Store
HyperGraph
Foram escolhidos os seguintes bancos de dados
InfiniteGraph
Neo4j
Sones
VertexDB
8/47
9/47
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
11/47
Armazenamento de dados
Memória principal
Memória externa
Armazenamento em memória
Índices
12/47
Armazenamento de dados
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/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
15/47
Funções de operação e manipulação
16/47
DML
17/47
GUI
18/47
GUI
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/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
21/47
Estruturas de grafos presentes
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/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
24/47
Representação de entidades e relações
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/47
Suporte a consultas
Tipo
Linguagem de consulta
API
Linguagem de consulta gráfica
Uso
Recuperação
Raciocínio
Análise
27/47
Linguagem de consulta
28/47
Raciocínio
29/47
Suporte a consultas
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/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
32/47
Constraints de integridade
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/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
35/47
Adjacência
36/47
Queries essenciais
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/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/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/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/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/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/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
44/47
Avaliação da Publicação
Avaliação do evento
Qualis: classificação A2
O H5-index é de 20
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/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
47/47
FIM
Dúvidas?
CMP151 - Modelos Avançados de Bancos de Dados
Top Related