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
SREとソフトウェア開発者の合同チームはどのようにS3のコストを削減したか?
muziyoshiz
1
210
「使い方教えて」「事例教えて」じゃもう遅い! Microsoft 365 Copilot を触り倒そう!
taichinakamura
0
280
能登半島災害現場エンジニアクロストーク 【JAWS FESTA 2025 in 金沢】
ditccsugii
0
230
OpenAI gpt-oss ファインチューニング入門
kmotohas
2
1.1k
【Kaigi on Rails 事後勉強会LT】MeはどうしてGirlsに? 私とRubyを繋いだRail(s)
joyfrommasara
0
220
Escaping_the_Kraken_-_October_2025.pdf
mdalmijn
0
160
許しとアジャイル
jnuank
1
140
三菱電機・ソニーグループ共同の「Agile Japan企業内サテライト」_2025
sony
0
130
M5製品で作るポン置きセルラー対応カメラ
sayacom
0
170
How to achieve interoperable digital identity across Asian countries
fujie
0
140
Shirankedo NOCで見えてきたeduroam/OpenRoaming運用ノウハウと課題 - BAKUCHIKU BANBAN #2
marokiki
0
170
【Oracle Cloud ウェビナー】クラウド導入に「専用クラウド」という選択肢、Oracle AlloyとOCI Dedicated Region とは
oracle4engineer
PRO
3
120
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Code Reviewing Like a Champion
maltzj
525
40k
Docker and Python
trallard
46
3.6k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
Into the Great Unknown - MozCon
thekraken
40
2.1k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
Scaling GitHub
holman
463
140k
Facilitating Awesome Meetings
lara
56
6.6k
Keith and Marios Guide to Fast Websites
keithpitt
411
23k
Writing Fast Ruby
sferik
629
62k
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