Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Neo4j - Dia a dia com grafos, Neo4j e Ruby
Search
hannelita
October 18, 2014
Technology
1
140
Neo4j - Dia a dia com grafos, Neo4j e Ruby
Palestra no TDC 2014 POA - trilha de Ruby
hannelita
October 18, 2014
Tweet
Share
More Decks by hannelita
See All by hannelita
Java EE 8 - Future, Wishes and Predictions
hannelita
1
200
JVM Internals Demystified
hannelita
0
350
Eletrônica
hannelita
0
170
Cassandra Meetup
hannelita
0
59
Our Daily Graphs written in Ruby and Neo4j
hannelita
1
170
Wildfly em alta disponibilidade
hannelita
0
240
Helios - o backend pra Mobile que você precisava <3
hannelita
0
110
Swift - uma fama repentina
hannelita
1
140
Curso relâmpago de eletrônica básica para desenvolvedores
hannelita
1
220
Other Decks in Technology
See All in Technology
知られざるprops命名の慣習 アクション編
uhyo
11
2.8k
【Grafana Meetup Japan #6】Grafanaをリバプロ配下で動かすときにやること ~ Grafana Liveってなんだ ~
yoshitake945
0
200
「守る」から「進化させる」セキュリティへ ~AWS re:Inforce 2025参加報告~ / AWS re:Inforce 2025 Participation Report
yuj1osm
1
180
Kiroと学ぶコンテキストエンジニアリング
oikon48
4
810
Grafana MCPサーバーによるAIエージェント経由でのGrafanaダッシュボード動的生成
hamadakoji
1
830
『FailNet~やらかし共有SNS~』エレベーターピッチ
yokomachi
1
190
Grafana Meetup Japan Vol. 6
kaedemalu
1
180
モバイルアプリ研修
recruitengineers
PRO
5
1.6k
クラウドセキュリティを支える技術と運用の最前線 / Cutting-edge Technologies and Operations Supporting Cloud Security
yuj1osm
2
220
そのコンポーネント、サーバー?クライアント?App Router開発のモヤモヤを可視化する補助輪
makotot
4
770
見てわかるテスト駆動開発
recruitengineers
PRO
6
2.2k
コスト削減の基本の「キ」~ コスト消費3大リソースへの対策 ~
smt7174
2
290
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Agile that works and the tools we love
rasmusluckow
330
21k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.8k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
The Cult of Friendly URLs
andyhume
79
6.6k
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
What's in a price? How to price your products and services
michaelherold
246
12k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
The Language of Interfaces
destraynor
160
25k
Transcript
Neo4j Sua vida com grafos!
Oi! • Hanneli (‘H' mudo) • CodeMiner 42 • Café,
Pokémon, Lego e bichos <3 HIRING
faculdade precisa representação fácil memorizar Afinal, por que grafos? Numa
trilha de Ruby!
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)
Agenda Teoria básica surge representação Neo4j bancos Primeiros passos vantagens
quando não usar
Dia a dia com grafos Um exemplo além de Twitter
e Facebook
Exemplo Como a Codeminer monta os times para os projetos?
Exemplo Como a Codeminer monta os times para os projetos?
MATCH
Quantas vezes você já não fez desenhos assim?
Breve histórico • Euler • Estatística • Patterns/relacionamento • Dependências
• Trajetos
Persistência
Persistência
Persistência Qual uma das primeiras matérias que! vemos na faculdade?
Quem lembra? Fila Stack Hash Tree Grafos
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
Persistência
Você já tinha pensado nisso?
Quando me dei conta disso?
Modelagem de usinas hidrelétricas
Falhas modelo relacional
Quero representar isso no modelo relacional USINA localizacao:float capacidade:float nome:float
cidades_que_atende_ids:CIDADE usinas_vizinhas_id:USINA populacao:int
FUUUUUUU….
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?
Double Fail….
Desaprendi?
Olhe para isso
Parecidos?
Parecidos?
Bancos orientados a grafos Porque nem tudo precisa viver em
tabelas
Neo4j
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
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 Node Relationship Attributes index
Representação visual
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
Itaipu abastece quantas pessoas?
Traversal - Busca Itaipu! alimenta Foz do iguaçu latitude:33.43 longitude:32:33
capacidade:1400 populacao:265000 alimenta Curitiba populacao:1700000
Cypher
Neo4j com Ruby <3 neo4j.rb Active Record
Neo4j com Ruby <3 Wrapper da REST API Neography
Neo4j - Quando não usar?
Neo4j - Quando não usar? • NoSQL Hater? • Buscas
- cautela (profundidade x largura) • Cloud • Monitoramento • Infra (backup) • Pouca RAM
Obrigada! @hannelita
[email protected]
Referências • NoSQL Hater? • Buscas - cautela (profundidade x
largura) • Cloud • Monitoramento • Infra (backup) • Pouca RAM