30
Graph Databases Titan Raqueline Penteado

Graph Databases Titan - UFPR · Graph Databases Titan Raqueline Penteado. Definições •Graph database –Um SGBD em Grafo é um sistema de gerenciamento de dados online com métodos

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Graph Databases Titan - UFPR · Graph Databases Titan Raqueline Penteado. Definições •Graph database –Um SGBD em Grafo é um sistema de gerenciamento de dados online com métodos

Graph DatabasesTitan

Raqueline Penteado

Page 2: Graph Databases Titan - UFPR · Graph Databases Titan Raqueline Penteado. Definições •Graph database –Um SGBD em Grafo é um sistema de gerenciamento de dados online com métodos

Definições

• Graph database

– Um SGBD em Grafo é um sistema de gerenciamento de dados online com métodos CRUD (Create, Read, Update, and Delete - CRUD) para manipular um modelo de dados em grafo.

– G = (V, E)

Page 3: Graph Databases Titan - UFPR · Graph Databases Titan Raqueline Penteado. Definições •Graph database –Um SGBD em Grafo é um sistema de gerenciamento de dados online com métodos

Definições

Page 4: Graph Databases Titan - UFPR · Graph Databases Titan Raqueline Penteado. Definições •Graph database –Um SGBD em Grafo é um sistema de gerenciamento de dados online com métodos

Definições

• Alguns pontos importantes

– Armazenamento físico (underlying storage)• Nativo

• Relacional…

– Processamento (processing engine)• Tipos de consultas

– Algoritmos

• Índices

– Distribuição• Dados

• Consulta

Page 5: Graph Databases Titan - UFPR · Graph Databases Titan Raqueline Penteado. Definições •Graph database –Um SGBD em Grafo é um sistema de gerenciamento de dados online com métodos

Titan

• Classificação/características

• Arquiteturas

• Formas de armazenamento

• Indexação

• Consultas

• Transações

• Comparações

**Cassandra

Page 6: Graph Databases Titan - UFPR · Graph Databases Titan Raqueline Penteado. Definições •Graph database –Um SGBD em Grafo é um sistema de gerenciamento de dados online com métodos

Exemplos

Page 7: Graph Databases Titan - UFPR · Graph Databases Titan Raqueline Penteado. Definições •Graph database –Um SGBD em Grafo é um sistema de gerenciamento de dados online com métodos

Características

• Transacional

• Suporte a grande volume de dados

• Escalável

– Usuários/Dados

• Distribuição e replicação de dados

• Licença

– Open source com licença Apache 2

Page 8: Graph Databases Titan - UFPR · Graph Databases Titan Raqueline Penteado. Definições •Graph database –Um SGBD em Grafo é um sistema de gerenciamento de dados online com métodos

Características

• Formas de armazenamento

– Cassandra , Hbase e Oracle BerkeleyDB

Page 9: Graph Databases Titan - UFPR · Graph Databases Titan Raqueline Penteado. Definições •Graph database –Um SGBD em Grafo é um sistema de gerenciamento de dados online com métodos

• Integração nativa com Tinkerpop

– Gremlin: linguagem de consulta

– Frames: mapeia objeto-para-grafo

– Rexster: servidor de grafos

– Blueprints: API padrão para banco de dados em grafos

– Suporta• Neo4j, Titan, OrientDB, DEX, TinkerGraph

Características

Page 10: Graph Databases Titan - UFPR · Graph Databases Titan Raqueline Penteado. Definições •Graph database –Um SGBD em Grafo é um sistema de gerenciamento de dados online com métodos

Arquiteturas

• Modo servidor local

• Modo servidor remoto

Page 11: Graph Databases Titan - UFPR · Graph Databases Titan Raqueline Penteado. Definições •Graph database –Um SGBD em Grafo é um sistema de gerenciamento de dados online com métodos

Arquiteturas

• Modo servidor remoto com Rexster

• Modo embutido

Page 12: Graph Databases Titan - UFPR · Graph Databases Titan Raqueline Penteado. Definições •Graph database –Um SGBD em Grafo é um sistema de gerenciamento de dados online com métodos

Arquiteturas

• Operações globais – Faunus

Page 13: Graph Databases Titan - UFPR · Graph Databases Titan Raqueline Penteado. Definições •Graph database –Um SGBD em Grafo é um sistema de gerenciamento de dados online com métodos

Arquiteturas

• Operações globais – Faunus

– OLAP

– RDF

Page 14: Graph Databases Titan - UFPR · Graph Databases Titan Raqueline Penteado. Definições •Graph database –Um SGBD em Grafo é um sistema de gerenciamento de dados online com métodos

Armazenando

Page 15: Graph Databases Titan - UFPR · Graph Databases Titan Raqueline Penteado. Definições •Graph database –Um SGBD em Grafo é um sistema de gerenciamento de dados online com métodos

Armazenando

Page 16: Graph Databases Titan - UFPR · Graph Databases Titan Raqueline Penteado. Definições •Graph database –Um SGBD em Grafo é um sistema de gerenciamento de dados online com métodos

Armazenando

Page 17: Graph Databases Titan - UFPR · Graph Databases Titan Raqueline Penteado. Definições •Graph database –Um SGBD em Grafo é um sistema de gerenciamento de dados online com métodos

Armazenando

• Memória (TinkerGraph)

Page 18: Graph Databases Titan - UFPR · Graph Databases Titan Raqueline Penteado. Definições •Graph database –Um SGBD em Grafo é um sistema de gerenciamento de dados online com métodos

Armazenando

• Cassandra

– Via Gremlin

Page 19: Graph Databases Titan - UFPR · Graph Databases Titan Raqueline Penteado. Definições •Graph database –Um SGBD em Grafo é um sistema de gerenciamento de dados online com métodos

• Cassandra

– Lista de adjacência em uma

família de colunas

– Chave (key) da linha = Id_vértice

– Cada propriedade e aresta é uma coluna

– Índices• Vértices

– .index()

• Arestas

– Primarykey

Armazenando

Page 20: Graph Databases Titan - UFPR · Graph Databases Titan Raqueline Penteado. Definições •Graph database –Um SGBD em Grafo é um sistema de gerenciamento de dados online com métodos

Armazenando

Page 21: Graph Databases Titan - UFPR · Graph Databases Titan Raqueline Penteado. Definições •Graph database –Um SGBD em Grafo é um sistema de gerenciamento de dados online com métodos

Armazenando

Page 22: Graph Databases Titan - UFPR · Graph Databases Titan Raqueline Penteado. Definições •Graph database –Um SGBD em Grafo é um sistema de gerenciamento de dados online com métodos

Indexando

Page 23: Graph Databases Titan - UFPR · Graph Databases Titan Raqueline Penteado. Definições •Graph database –Um SGBD em Grafo é um sistema de gerenciamento de dados online com métodos

Consultando

• Gremlin

Page 24: Graph Databases Titan - UFPR · Graph Databases Titan Raqueline Penteado. Definições •Graph database –Um SGBD em Grafo é um sistema de gerenciamento de dados online com métodos

Consultando

Page 25: Graph Databases Titan - UFPR · Graph Databases Titan Raqueline Penteado. Definições •Graph database –Um SGBD em Grafo é um sistema de gerenciamento de dados online com métodos

Consultando

• Combinando padrões de triplas

Page 26: Graph Databases Titan - UFPR · Graph Databases Titan Raqueline Penteado. Definições •Graph database –Um SGBD em Grafo é um sistema de gerenciamento de dados online com métodos

Consultando

• Combinando padrões de triplas

Page 27: Graph Databases Titan - UFPR · Graph Databases Titan Raqueline Penteado. Definições •Graph database –Um SGBD em Grafo é um sistema de gerenciamento de dados online com métodos

Consultando

• Combinando padrões de triplas

Page 28: Graph Databases Titan - UFPR · Graph Databases Titan Raqueline Penteado. Definições •Graph database –Um SGBD em Grafo é um sistema de gerenciamento de dados online com métodos

Consultando

• Scripts

– Conjunto de operações• Ler um grafo

• Consultar o grafo

• Armazenar o resultado em um arquivo

• Ler outro grafo

• Consulta o grafo

• Armazenar o resultado em um arquivo

• Trabalhar com o resultado do arquivo

• Enviar resposta ao usuário

Page 29: Graph Databases Titan - UFPR · Graph Databases Titan Raqueline Penteado. Definições •Graph database –Um SGBD em Grafo é um sistema de gerenciamento de dados online com métodos

Transações

• Isolamento, concorrência, consistência eventual

• Uma operação inicia a transação (primeira)

• A transação é finalizada explicitamente com commit(), roolback() ou shutdown() (commitautomaticamente)

Page 30: Graph Databases Titan - UFPR · Graph Databases Titan Raqueline Penteado. Definições •Graph database –Um SGBD em Grafo é um sistema de gerenciamento de dados online com métodos

Comparando

Salim Jouili e Aldemar Reynaga. imGraph: A distributed in-memory graph database. ASE/IEEE International Conference on Big Data. 2013.