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
160
1
Share
Neo4j - Dia a dia com grafos, Neo4j e Ruby
Palestra no TDC 2014 POA - trilha de Ruby
hannelita
October 18, 2014
More Decks by hannelita
See All by hannelita
Java EE 8 - Future, Wishes and Predictions
hannelita
1
220
JVM Internals Demystified
hannelita
0
370
Eletrônica
hannelita
0
190
Cassandra Meetup
hannelita
0
81
Our Daily Graphs written in Ruby and Neo4j
hannelita
1
190
Wildfly em alta disponibilidade
hannelita
0
270
Helios - o backend pra Mobile que você precisava <3
hannelita
0
130
Swift - uma fama repentina
hannelita
1
150
Curso relâmpago de eletrônica básica para desenvolvedores
hannelita
1
260
Other Decks in Technology
See All in Technology
Route 53 Global Resolver で高額課金発生!
otanikohei2023
0
120
Good Enough Types: Heuristic Type Inference for Ruby
riseshia
1
310
AWS Agent Registry の基礎・概要を理解する/aws-agent-registry-intro
ren8k
3
410
AI時代 に増える データ活用先
takahal
0
320
AgentCore Managed Harness を使ってみよう
yakumo
2
240
コードや知識を組み込む / Incorporate Code and Knowledge
ks91
PRO
0
170
「責任あるAIエージェント」こそ自社で開発しよう!
minorun365
9
2.2k
AWS Transform CustomでIaCコードを自由自在に変換しよう
duelist2020jp
0
160
AWS DevOps Agentはチームメイトになれるのか?/ Can AWS DevOps Agent become a teammate
kinunori
6
770
AIでAIをテストする - 音声AIエージェントの品質保証戦略
morix1500
1
140
M5Stack CoreS3とZephyr(RTOS)で Edge AIっぽいことしてみた
iotengineer22
0
290
「SaaSの次の時代」に重要性を増すステークホルダーマネジメントの要諦 ~解像度を圧倒的に高めPdMの価値を最大化させる方法~
kakehashi
PRO
3
2.6k
Featured
See All Featured
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
370
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Utilizing Notion as your number one productivity tool
mfonobong
4
290
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
180
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
110
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
810
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
170
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
340
Writing Fast Ruby
sferik
630
63k
The SEO identity crisis: Don't let AI make you average
varn
0
450
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