Neo4j - Sua vida com grafos

1.611 visualizações

Publicada em

Palestra TDC SP 2014

0 comentários
5 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.611
No SlideShare
0
A partir de incorporações
0
Número de incorporações
6
Ações
Compartilhamentos
0
Downloads
35
Comentários
0
Gostaram
5
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Neo4j - Sua vida com grafos

  1. 1. Neo4jSua vida com grafos!
  2. 2. Oi! • Hanneli (‘H' mudo) • CodeMiner 42 • Café, Pokémon, Lego e bichos <3 HIRING
  3. 3. Afinal, por que grafos? faculdade precisa representação fácil memorizar
  4. 4. O que não vamos ver aqui • Teoria avançada de grafos • Guia completo de Neo4j • Introdução sobre NoSQL • Exemplos de Redes Sociais (CLÁSSICO)
  5. 5. Agenda Teoria básica surge representação Neo4j bancos Primeiros passos vantagens quando não usar
  6. 6. Dia a dia com grafos Um exemplo além de Twitter e Facebook
  7. 7. Exemplo Como a Codeminer monta os times para os projetos?
  8. 8. Exemplo Como a Codeminer monta os times para os projetos? MATCH
  9. 9. Quantas vezes você já não fez desenhos assim?
  10. 10. Breve histórico • Euler • Estatística • Patterns/relacionamento • Dependências • Trajetos
  11. 11. Persistência
  12. 12. Persistência
  13. 13. Persistência Qual uma das primeiras matérias que! vemos na faculdade?
  14. 14. Quem lembra? Fila Stack Hash Tree Grafos
  15. 15. Persistência Qual a primeira forma de armazenamento que vemos! na disciplina de Banco de dados? a. Fila b. Stack c. Hash d. Tree e. N.D.A
  16. 16. Persistência
  17. 17. Você já tinha pensado nisso?
  18. 18. Quando me dei conta disso?
  19. 19. Modelagem de usinas hidrelétricas
  20. 20. Falhas modelo relacional
  21. 21. Quero representar isso no modelo relacional USINA localizacao:float capacidade:float nome:float cidades_que_atende_ids:CIDADE usinas_vizinhas_id:USINA populacao:int
  22. 22. FUUUUUUU….
  23. 23. FUUUUUUU…. • De acordo com a população, qual vizinhança de usinas devo formar? • Se uma usina cair, qual a melhor para reassumir sem comprometer o sistema? • Como evitar subutilização? • Como monitorar?
  24. 24. Double Fail….
  25. 25. Desaprendi?
  26. 26. Olhe para isso
  27. 27. Parecidos?
  28. 28. Parecidos?
  29. 29. Bancos orientados a grafos Porque nem tudo precisa viver em tabelas
  30. 30. Neo4j
  31. 31. Nossas usinas agora em grafos Itaipu! é_vizinha Itá latitude:33.43 longitude:32:33 capacidade:1400 latitude:43.43 longitude:56:33 capacidade:700 tensao_linha:230
  32. 32. Nossas usinas agora em grafos Itaipu! é_vizinha Itá latitude:33.43 longitude:32:33 capacidade:1400 latitude:43.43 longitude:56:33 capacidade:700 tensao_linha:230Node Relationship Attributes index
  33. 33. Representação visual
  34. 34. Nossas usinas agora em grafos Itaipu! alimenta Foz do iguaçu latitude:33.43 longitude:32:33 capacidade:1400 populacao:265000 alimenta Curitiba populacao:1700000
  35. 35. Itaipu abastece quantas pessoas?
  36. 36. Traversal - Busca Itaipu! alimenta Foz do iguaçu latitude:33.43 longitude:32:33 capacidade:1400 populacao:265000 alimenta Curitiba populacao:1700000
  37. 37. Cypher
  38. 38. Neo4j - Quando não usar?
  39. 39. Neo4j - Quando não usar? • NoSQL Hater? • Buscas - cautela (profundidade x largura) • Cloud • Monitoramento • Infra (backup) • Pouca RAM
  40. 40. Neo4j - Quando não usar? • NoSQL Hater? • Buscas - cautela (profundidade x largura) • Cloud • Monitoramento • Infra (backup) • Pouca RAM

×