SlideShare uma empresa Scribd logo
1 de 47
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:
– Estruturas de dados;
– Interface para consultas;
– Restrições 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
Estudo de caso - Introdução
9/47
Estudo de caso - Introdução
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.Restrições 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.Restrições 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
● Linguagem de consulta
● 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.Restrições 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.Restrições 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.Restrições 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
Suporte a consultas
28/47
Linguagem de consulta
29/47
Raciocínio
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.Restrições de integridade
7.Queries essenciais
31/47
Restrições de integridade
● Verificação de tipos
● Identidade de nodos/arestas
● Integridade referencial
● Verificação da cardinalidade
● Dependência funcional
● Restrições 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.Restrições 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
Queries essenciais
36/47
Adjacência
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
● 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

Mais conteúdo relacionado

Semelhante a Apresentação CMP151

Apresentação Modelo de Gestão de dados para sistemas Colaborativos
Apresentação Modelo de Gestão de dados para sistemas ColaborativosApresentação Modelo de Gestão de dados para sistemas Colaborativos
Apresentação Modelo de Gestão de dados para sistemas ColaborativosMozart Dornelles Claret
 
Banco de Dados - Part01
Banco de Dados - Part01Banco de Dados - Part01
Banco de Dados - Part01Rangel Javier
 
Banco dados i prof ivan (acesse www.portalgsti.com.br)
Banco dados i prof ivan (acesse  www.portalgsti.com.br)Banco dados i prof ivan (acesse  www.portalgsti.com.br)
Banco dados i prof ivan (acesse www.portalgsti.com.br)Andre Sidou
 
Projeto de Banco de Dados - Capítulo 1
Projeto de Banco de Dados - Capítulo 1Projeto de Banco de Dados - Capítulo 1
Projeto de Banco de Dados - Capítulo 1Januário Neto
 
ApresentacaoDefesa_v5
ApresentacaoDefesa_v5ApresentacaoDefesa_v5
ApresentacaoDefesa_v5Flavio Moreni
 
Bancos de Dados para Bibliotecários
Bancos de Dados para BibliotecáriosBancos de Dados para Bibliotecários
Bancos de Dados para BibliotecáriosLuciano Ramalho
 
Base de Dados - Apresentação da Unidade Curricular
Base de Dados - Apresentação da Unidade CurricularBase de Dados - Apresentação da Unidade Curricular
Base de Dados - Apresentação da Unidade CurricularMariana Hiyori
 
2019-2 - BD I - Aula 01 C - Introdução a Banco de Dados
2019-2 - BD I - Aula 01 C - Introdução a Banco de Dados2019-2 - BD I - Aula 01 C - Introdução a Banco de Dados
2019-2 - BD I - Aula 01 C - Introdução a Banco de DadosRodrigo Kiyoshi Saito
 
Resenha de artigo - Query Processing over Data Warehouse using Relational Dat...
Resenha de artigo - Query Processing over Data Warehouse using Relational Dat...Resenha de artigo - Query Processing over Data Warehouse using Relational Dat...
Resenha de artigo - Query Processing over Data Warehouse using Relational Dat...Felipe Caparelli
 
Bancos de Dados Orientados a Objeto
Bancos de Dados Orientados a ObjetoBancos de Dados Orientados a Objeto
Bancos de Dados Orientados a Objetoelliando dias
 
Banco de Dados em Grafos com Neo4J
Banco de Dados em Grafos com Neo4J  Banco de Dados em Grafos com Neo4J
Banco de Dados em Grafos com Neo4J Daniel San Martin
 
Banco de Dados Ágeis e Refatoração
Banco de Dados Ágeis e RefatoraçãoBanco de Dados Ágeis e Refatoração
Banco de Dados Ágeis e Refatoraçãoelliando dias
 
Introdução a modelagem de dados parte II - Banco de Dados
Introdução a modelagem de dados parte II - Banco de DadosIntrodução a modelagem de dados parte II - Banco de Dados
Introdução a modelagem de dados parte II - Banco de Dadosinfo_cimol
 
Minicurso Epoca mongoDB
Minicurso Epoca mongoDBMinicurso Epoca mongoDB
Minicurso Epoca mongoDBLelyBarros
 

Semelhante a Apresentação CMP151 (20)

No sql o_que_e_isso.key
No sql o_que_e_isso.keyNo sql o_que_e_isso.key
No sql o_que_e_isso.key
 
Banco de dados parte 01
Banco de dados parte 01Banco de dados parte 01
Banco de dados parte 01
 
Apresentação Modelo de Gestão de dados para sistemas Colaborativos
Apresentação Modelo de Gestão de dados para sistemas ColaborativosApresentação Modelo de Gestão de dados para sistemas Colaborativos
Apresentação Modelo de Gestão de dados para sistemas Colaborativos
 
Banco de Dados - Part01
Banco de Dados - Part01Banco de Dados - Part01
Banco de Dados - Part01
 
13 banco-de-dados
13 banco-de-dados13 banco-de-dados
13 banco-de-dados
 
Banco dados i prof ivan (acesse www.portalgsti.com.br)
Banco dados i prof ivan (acesse  www.portalgsti.com.br)Banco dados i prof ivan (acesse  www.portalgsti.com.br)
Banco dados i prof ivan (acesse www.portalgsti.com.br)
 
Projeto de Banco de Dados - Capítulo 1
Projeto de Banco de Dados - Capítulo 1Projeto de Banco de Dados - Capítulo 1
Projeto de Banco de Dados - Capítulo 1
 
ApresentacaoDefesa_v5
ApresentacaoDefesa_v5ApresentacaoDefesa_v5
ApresentacaoDefesa_v5
 
Bancos de Dados para Bibliotecários
Bancos de Dados para BibliotecáriosBancos de Dados para Bibliotecários
Bancos de Dados para Bibliotecários
 
00 apresentacao
00   apresentacao00   apresentacao
00 apresentacao
 
Base de Dados - Apresentação da Unidade Curricular
Base de Dados - Apresentação da Unidade CurricularBase de Dados - Apresentação da Unidade Curricular
Base de Dados - Apresentação da Unidade Curricular
 
2019-2 - BD I - Aula 01 C - Introdução a Banco de Dados
2019-2 - BD I - Aula 01 C - Introdução a Banco de Dados2019-2 - BD I - Aula 01 C - Introdução a Banco de Dados
2019-2 - BD I - Aula 01 C - Introdução a Banco de Dados
 
Data WareHOuse
Data WareHOuseData WareHOuse
Data WareHOuse
 
Resenha de artigo - Query Processing over Data Warehouse using Relational Dat...
Resenha de artigo - Query Processing over Data Warehouse using Relational Dat...Resenha de artigo - Query Processing over Data Warehouse using Relational Dat...
Resenha de artigo - Query Processing over Data Warehouse using Relational Dat...
 
Bancos de Dados Orientados a Objeto
Bancos de Dados Orientados a ObjetoBancos de Dados Orientados a Objeto
Bancos de Dados Orientados a Objeto
 
Banco de Dados em Grafos com Neo4J
Banco de Dados em Grafos com Neo4J  Banco de Dados em Grafos com Neo4J
Banco de Dados em Grafos com Neo4J
 
Banco de Dados Ágeis e Refatoração
Banco de Dados Ágeis e RefatoraçãoBanco de Dados Ágeis e Refatoração
Banco de Dados Ágeis e Refatoração
 
Introdução a modelagem de dados parte II - Banco de Dados
Introdução a modelagem de dados parte II - Banco de DadosIntrodução a modelagem de dados parte II - Banco de Dados
Introdução a modelagem de dados parte II - Banco de Dados
 
Minicurso Epoca mongoDB
Minicurso Epoca mongoDBMinicurso Epoca mongoDB
Minicurso Epoca mongoDB
 
bd.ppt
bd.pptbd.ppt
bd.ppt
 

Apresentação CMP151

  • 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: – Estruturas de dados; – Interface para consultas; – Restrições 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
  • 8. 8/47 Estudo de caso - Introdução
  • 9. 9/47 Estudo de caso - Introdução
  • 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.Restrições de integridade 7.Queries essenciais
  • 11. 11/47 Armazenamento de dados ● Memória principal ● Memória externa ● Armazenamento em memória ● Índices
  • 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.Restrições 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 ● Linguagem de consulta ● API ● GUI
  • 15. 15/47 Funções de operação e manipulação
  • 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.Restrições 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.Restrições 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.Restrições 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.Restrições de integridade 7.Queries essenciais
  • 31. 31/47 Restrições de integridade ● Verificação de tipos ● Identidade de nodos/arestas ● Integridade referencial ● Verificação da cardinalidade ● Dependência funcional ● Restrições 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.Restrições 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 ● 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
  • 44. 44/47 Avaliação da Publicação ● Avaliação do evento – Qualis: classificação A2 – O H5-index é de 20
  • 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
  • 47. 47/47 FIM Dúvidas? CMP151 - Modelos Avançados de Bancos de Dados