Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Graph Database Neo4j Edson Barboza
2
Roteiro Exemplos de grafos Ranking Graph Database Graph Search
Tamanho vs Complexidade Porque usar o neo4j Nó Relacionamento Propriedades Getting started Neo4j Java API Estado da Arte – Arquitetura Neo4j HA Mode Pontos a melhorar
3
Exemplos de grafo
4
Ranking Fonte:
5
Graph Search - Facebook
6
Tamanho vs Complexidade
7
Por que utilizar o Neo4j? Rapidez e robustez
Ótima performance para ler e escrever, robustez Criar nós indexados (melhoria de performance nas consultas) API para algoritmos de busca (shortest Path) Possibilidade de integração com Web Semântica
8
Neo4j (2) Full ACID (na transação)
Alta Disponibilidade (Enterprise Edition) Suporta até 32 bilhões de nós, 32 bilhões de relacionamentos 64 bilhões de propriedades Consulta REST (Representation State Transfer)
9
Nó Unidade fundamental de armazenamento
Representam entidades de uma modelo relacional Pode conter propriedades.
10
Relacionamento Permitem encontrar dados relacionados
Podem contem certas propriedades Start node e end node.
11
Propriedade Pares de chaves e valores Valor Uma chave é uma string.
Primitivo ou array de tipo primitivo
12
Getting starter
13
Getting starter To get started with Neo4j,
Let's start the server and take a look at the web interface ... Open a console and navigate to the install directory. Start the server: * Windows: use bin\Neo4j.bat * Linux/Mac: use ./bin/neo4j start console 4. Open
14
Criando um nó
15
Buscando um nó
16
Cypher Linguagem de consulta com casamento de padrão
17
CONSULTA
18
Criando vários nós e criando relacionamentos
19
Solve
20
Deletando nós e relacionamentos
21
Neo4j Java API GraphDatabaseService
Neo4j Java API GraphDatabaseService gerenciamento a criação do grafo e seus componentes criação de nós, relacionamento e propriedades. GraphDatabaseFactory criar e gerenciar novas instancias de banco de dados em grafo HighlyAvailableGraphDatabaseFactory (EmbeddedGraphDatabase) arquitetura de criação de grafos com alta disponibilidade.
22
ARQUITETURA – Estado da Arte
CONSISTENCIA EVENTUAL REPLICACAO MASTER-SLAVE Slaves sincronizados em operação de escrita Atualização eventual nos slaves Abordagem otimística para o master no commit. Rool-back transações no master. Write transactions can be performed on any database instance in a cluster. • Neo4j HA is fault tolerant and can continue to operate from any number of machines down to a single machine. • Slaves will be automatically synchronized with the master on write operations. • If the master fails a new master will be elected automatically. • The cluster automatically handles instances becoming unavailable (for example due to network issues), and also makes sure to accept them as members in the cluster when they are available again. • Transactions are atomic, consistent and durable but eventually propagated out to other slaves. • Updates to slaves are eventual consistent by nature but can be configured to be pushed optimistically from master during commit. • If the master goes down any running write transaction will be rolled back and new transactions will block or fail until a new master has become available.
23
Pontos a melhorar Não enforça a segurança a nível dos dados
Suporte a HTTPS Certificado SSL auto-emitido e uma chave privada. Solução: Configurar própria chave Servidor expõe funcionalidade do script remotamente. Implementar camada de segurança para sanar vulnerabilidade ao expor servidor
24
Referências Introdution to Graph Database Introdution to Neo4j /slides/IanRobinson_AnIntroductionToDoctorWhoandNeo4j.pdf. Acessado em 03/12/2015 OrientDB Guide - The Neo4j Manual - Acessado em 03/12/2015. Infoscience - techblog.netflix.com
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.