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
Prazer, banco de grafo
Search
Vinicius Cruz
April 11, 2016
Technology
0
100
Prazer, banco de grafo
Uma breve apresentação sobre casos de uso de banco de grafo e relato da experiência com ArangoDB
Vinicius Cruz
April 11, 2016
Tweet
Share
More Decks by Vinicius Cruz
See All by Vinicius Cruz
Ampliando a experiência de busca com MeiliSearch
vinaocruz
0
140
Other Decks in Technology
See All in Technology
ざっくり学ぶ 『エンジニアリングリーダー 技術組織を育てるリーダーシップと セルフマネジメント』 / 50 minute Engineering Leader
iwashi86
8
4k
パフォーマンスチューニングのために普段からできること/Performance Tuning: Daily Practices
fujiwara3
2
180
累計5000万DLサービスの裏側 – LINEマンガのKotlinで挑む大規模 Server-side ETLの最適化
ldf_tech
0
110
[re:Inent2025事前勉強会(有志で開催)] re:Inventで見つけた人生をちょっと変えるコツ
sh_fk2
1
1.1k
可観測性は開発環境から、開発環境にもオブザーバビリティ導入のススメ
layerx
PRO
4
2.5k
DSPy入門
tomehirata
6
820
Open Table Format (OTF) が必要になった背景とその機能 (2025.10.28)
simosako
3
570
オブザーバビリティが育むシステム理解と好奇心
maruloop
3
1.9k
.NET 10のBlazorの期待の新機能
htkym
0
170
GPUをつかってベクトル検索を扱う手法のお話し~NVIDIA cuVSとCAGRA~
fshuhe
0
310
AI連携の新常識! 話題のMCPをはじめて学ぶ!
makoakiba
0
170
Retrospectiveを振り返ろう
nakasho
0
140
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.1k
How to Ace a Technical Interview
jacobian
280
24k
A better future with KSS
kneath
239
18k
Making Projects Easy
brettharned
120
6.4k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
630
Keith and Marios Guide to Fast Websites
keithpitt
412
23k
YesSQL, Process and Tooling at Scale
rocio
174
15k
The World Runs on Bad Software
bkeepers
PRO
72
11k
jQuery: Nuts, Bolts and Bling
dougneiner
65
7.9k
4 Signs Your Business is Dying
shpigford
186
22k
Transcript
Prazer, banco de grafo
Hello World! Vinicius Cruz Diretor técnico na Olaria Colaborador no
PHP BA Desenvolvedor web Um pouco de DevOps
O que é grafo? ◎ Representação matemática de relações em
conjunto de objetos ◎ Composto de vértices e arestas
Exemplo ◎ Podemos representar um site através do grafo ◎
Cada página é um vértice ◎ As arestas são representadas por link entre as páginas
Grafo ◎ Vértices possuem informações ◎ Arestas também podem conter
informações ◎ Um vértice pode conter várias arestas
Aplicação ◎ Redes sociais ◎ Sistema de indicações ◎ Hierarquias
Twitter ◎ a entidade usuário é um vértice com atributos
◦ nome: Vinicius ◦ apelido: @vinaocruz ◎ a relação segue é uma aresta (@vinaocruz segue @mlalbuquerque) ◦ data início: 2016-01-01 ◦ data fim: null (caso dê unfollow: 2016-12-01)
Twitter ◎ Podemos ter também tweet como vértice ◎ E
mention como aresta (@vinaocruz marcado tweet)
Twitter from: @vinaocruz to: @mlalbuquerque initAt: 2010-01-01 from: @mlalbuquerque to:
@vinaocruz initAt: 2010-01-02 type: mention type: author
Estudo de caso ◎ Rede comercial de vendedoras de cosméticos
◎ Vendedoras formam equipe ◎ Membro da equipe inicia novas vendedoras
Diagrama Entidade Relacional
Banco relacional
Equipe
Equipe
Problema ◎ A vendedora Azul formou sua própria equipe ◎
Mas preciso exibir no relatório a equipe completa da vendedora Vermelha ◎ Preciso manter um histórico sobre as relações
Grafos ◎ Cada vendedora é um vértice ◎ As relações
entre vendedoras são arestas ◎ Nas arestas contém a data que iniciou e conterá a data de saída
Equipe endAt: 2016-04-01
None
ArangoDB ◎ Banco de dados multi modelo ◎ Diversos acessos
◎ Gratuito e open source ◎ Extensível - Fox
ArangoDB ◎ Documentos salvos em coleções ◎ Free schema ◎
Dados normalmente estruturado (JSON) ◎ Atributos indexados
ArangoDB ◎ No grafo, vértices e arestas são documentos ◎
Algoritmos de grafo embutidos ◎ Consultas utilizando index geolocalizado, full text, AQL
Exemplo
Outros bancos de grafo ◎ Neo4J ◎ AllegroGraph ◎ OrientDB
◎ e muitos outros
Dúvidas?
Obrigado! @vinaocruz