![Page 1: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/1.jpg)
Bancos de Dados de
Grafos
Jaudete Daltio
MC536
1
![Page 2: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/2.jpg)
Motivações para novos SGBDs▪ Volume de dados crescent
▪ Distribuídos, heterogêneos e interligados
▪ Questões sobre armazenamento e processamento descentralizado, desempenhoe semântica
2
![Page 3: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/3.jpg)
Tendência (1): volume
3https://pt.slideshare.net/sfamilian/working-with-big-data-jan-2016-part-1/6-CONTEXT_WHATS_BIG_DATAHOW_BIG
![Page 4: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/4.jpg)
Tendência (1): volume
4https://pt.slideshare.net/sfamilian/working-with-big-data-jan-2016-part-1/6-CONTEXT_WHATS_BIG_DATAHOW_BIG
![Page 5: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/5.jpg)
Tendência (2): conectividade
5
![Page 6: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/6.jpg)
Tendência (3): heterogeneidade
6
![Page 7: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/7.jpg)
Tendência (4): arquiteturas
7
![Page 8: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/8.jpg)
NOSQL
8
No to SQL Never SQL
![Page 9: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/9.jpg)
NOT ONLY SQL
Reconhecer que para alguns problemaspodem existir soluções de persistência
customizadas com melhor desempenhoOU mais amigaveis
9
![Page 10: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/10.jpg)
NOSQL “SGBDs”• Não possuem todas as propriedades de um
SGBD relacional (p ex, consistência)
• Noção de esquema é fuzzy
• Em um mesmo BD, duas instancias de umamesma entidade podem ter atributos diferentes
• Diferentes modelos de dados
10
![Page 11: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/11.jpg)
Modelo de Dados (Codd, 1980)
• Coleção de elementos para representar dados e expressar detalhes semânticos
• Componentes
• Tipos de estruturas de dados
• Restrições de integridade para definir estados consistentes do banco de dados
• Operadores para recuperar dados
11
![Page 12: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/12.jpg)
Categorias: Modelos de Dados
12
![Page 13: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/13.jpg)
NOSQL Databases
13
![Page 14: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/14.jpg)
Tamanho X Complexidade
14
![Page 15: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/15.jpg)
Lápide
▪ER
▪Modelagem
▪Mapeamento
▪Especificação
▪Normalização
15
![Page 16: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/16.jpg)
Bancos de Dados
de Grafos
16
![Page 17: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/17.jpg)
O que é um BD grafos ?
• BD NOSQL
• Utiliza modelos de dados baseados em grafos
17
![Page 18: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/18.jpg)
Um grafo é
• um conjunto V de vértices(vértice = nó)
• um conjunto E de arestas: pares ordenados v e w ∈ V(aresta = arco)
18
![Page 19: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/19.jpg)
Por que grafos ?
▪ Vários cenários e problemas do mundo real podem ser mapeados como grafos
19
![Page 20: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/20.jpg)
Tráfego
Fonte: slides Neo4j GraphDays, 2016
20
![Page 21: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/21.jpg)
Hotéis
Fonte: slides Neo4j GraphDays, 2016
21
![Page 22: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/22.jpg)
Relacionamentos
Fonte: slides Neo4j GraphDays, 2016
22
![Page 23: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/23.jpg)
Twitter (Influência)
![Page 24: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/24.jpg)
Cadeia AlimentarFishBase
![Page 25: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/25.jpg)
Proteínas da Levedura
Yeast proteins: Sergei Maslov and Kim Sneppen,Specificity and stability in topology of protein networks,Science 296, 910-913 (2002).
![Page 26: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/26.jpg)
Rede hidrográfica Brasil – 620K nós
26
![Page 27: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/27.jpg)
![Page 28: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/28.jpg)
Modelo de Dados (Codd, 1980)
• Coleção de elementos para representar dados e expressar detalhes semânticos
• Componentes
• Tipos de estruturas de dados
• Restrições de integridade para definir estados consistentes do banco de dados
• Operadores para recuperar dados
28
![Page 29: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/29.jpg)
Estrutura de Dados
29
● Variações sob a definição básica
● Aumentar expressividade
● Representar cenários específicos de forma menos ambígua
![Page 30: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/30.jpg)
Grafo RDF
30
![Page 31: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/31.jpg)
Hipergrafo
31
![Page 32: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/32.jpg)
Grafo de Propriedades
32
![Page 33: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/33.jpg)
Modelo de Dados (Codd, 1980)
• Coleção de elementos para representar dados e expressar detalhes semânticos
• Componentes
• Tipos de estruturas de dados
• Restrições de integridade para definir
estados consistentes do banco de
dados
• Operadores para recuperar dados33
![Page 34: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/34.jpg)
DB Grafos http://db-engines.com/en/ranking/graph+dbms
34
342 sistemas
30 de grafos
Neo4J – 22
Giraph - 124
![Page 35: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/35.jpg)
DB Grafos http://db-engines.com/en/ranking/graph+dbms
35
MULTI?
![Page 36: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/36.jpg)
DB Grafos
36
http://db-engines.com/en/ranking/graph+dbms
![Page 37: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/37.jpg)
Neo4j
• Grafo rotulado de propriedades tipadas
• Arestas possuem tipos
• É possível mais de uma aresta, de tipos diferentes, entre dois vértices
• Vértices podem possuir rótulos
• É possível múltiplos rótulos em um mesmo vértice
Fonte: slides Michael Hunger, Relational to Graph, 2015
37
![Page 38: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/38.jpg)
Em 2015
38
Fonte: slides Michael Hunger, Relational to Graph, 2015
![Page 39: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/39.jpg)
Empresas que adotam
39
Fonte: slides Michael Hunger, Relational to Graph, 2015
![Page 40: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/40.jpg)
Como adotam
40
Fonte: slides Michael Hunger, Relational to Graph, 2015
![Page 41: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/41.jpg)
Estudos de Caso (Neo4j)
Fonte: slides Neo4j GraphDays, 2016
41
![Page 42: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/42.jpg)
Estudos de Caso - Recomendação
Fonte: slides Neo4j GraphDays, 2016
42
![Page 43: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/43.jpg)
Fonte: slides Neo4j GraphDays, 2016
43
![Page 44: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/44.jpg)
Estudos de Caso - Buscas
Fonte: slides Neo4j GraphDays, 2016
44
![Page 45: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/45.jpg)
Conceitos basicos – modelo de
dados do Neo4j
45
![Page 46: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/46.jpg)
Grafo de Propriedades
Fonte: slides Michael Hunger Graph Database Introduction, 2014
46
![Page 47: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/47.jpg)
Rótulos (Labels)
47
Fonte: slides Michael Hunger Graph Database Introduction, 2014
![Page 48: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/48.jpg)
Atributos
48
Fonte: slides Michael Hunger Graph Database Introduction, 2014
![Page 49: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/49.jpg)
Arestas
49
Fonte: slides Michael Hunger Graph Database Introduction, 2014
![Page 50: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/50.jpg)
Tipos de Arestas
50
Fonte: slides Michael Hunger Graph Database Introduction, 2014
![Page 51: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/51.jpg)
Mapeamento dos Relacionamentos
51
![Page 52: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/52.jpg)
Mapeamento dos Relacionamentos
52
![Page 53: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/53.jpg)
Cypher
• Declarativo
• Busca Padrões
53
![Page 54: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/54.jpg)
Consultas em Grafos – “Percurso”Em Neo4j - Cypher
54
1. Ache nó inicial
![Page 55: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/55.jpg)
Consultas em Grafos – “Percurso”
55
2. Percorra o
grafo
![Page 56: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/56.jpg)
ExemploQuem se reporta a quem ?
Fonte: slides Michael Hunger, Relational to Graph, 2015
56
![Page 57: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/57.jpg)
Consulta
57
Fonte: slides Michael Hunger, Relational to Graph, 2015
![Page 58: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/58.jpg)
Consulta
58
Fonte: slides Michael Hunger, Relational to Graph, 2015
![Page 59: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/59.jpg)
Quem se reporta a quem ?
59
Fonte: slides Michael Hunger, Relational to Graph, 2015
![Page 60: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/60.jpg)
Quem se reporta a quem ?
60
Fonte: slides Michael Hunger, Relational to Graph, 2015
![Page 61: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/61.jpg)
Pessoas a quem o Robert se reporta
61
Fonte: slides Michael Hunger, Relational to Graph, 2015
![Page 62: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/62.jpg)
Quem é o chefe ?
62
Fonte: slides Michael Hunger, Relational to Graph, 2015
![Page 63: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/63.jpg)
Estrutura de uma Consulta
63
Fonte: slides Michael Hunger Graph Database Introduction, 2014
![Page 64: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/64.jpg)
MATCH - Padrão
64
Fonte: slides Michael Hunger Graph Database Introduction, 2014
![Page 65: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/65.jpg)
WHERE – Seleção (Filtro)
65
Fonte: slides Michael Hunger Graph Database Introduction, 2014
![Page 66: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/66.jpg)
RETURN - Projeção
66
Fonte: slides Michael Hunger Graph Database Introduction, 2014
![Page 67: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/67.jpg)
ORDER BY
67
Fonte: slides Michael Hunger Graph Database Introduction, 2014
![Page 68: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/68.jpg)
WITH + WHERE = HAVING (SQL)
68
Fonte: slides Michael Hunger Graph Database Introduction, 2014
![Page 69: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/69.jpg)
Collections
69
Fonte: slides Michael Hunger Graph Database Introduction, 2014
![Page 70: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/70.jpg)
FOREACH | CREATE | MERGE
70
Fonte: slides Michael Hunger Graph Database Introduction, 2014
![Page 71: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/71.jpg)
Prática – Neo4j
• www.ic.unicamp.br/~cmbm/MC536/
• > neo4j console
• //localhost:7474
71
![Page 72: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/72.jpg)
Em resumo ...
● Novas tendências e demandas levaram a emergir novas frentes em BD
● NOSQL● Vários modelos de dados - requisitos
específicos● BD Grafos: grafos como modelo de dados● Neo4j
○ Grafo de Propriedades - tipado e rotulado○ Linguagem de consulta Cypher
72
![Page 73: Bancos de Dados de Grafos - Instituto de Computaçãocmbm/MC536/bdgrafos-jaudete2018.pdf · Bancos de Dados de Grafos Jaudete Daltio MC536 1. Motivaçõespara novosSGBDs Volume de](https://reader034.vdocuments.com.br/reader034/viewer/2022042310/5ed74927c079a6328057fe37/html5/thumbnails/73.jpg)
Dúvidas ?
73