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
ハーネスエンジニアリング×AI適応開発
aictokamiya
1
790
AgentCoreとLINEを使った飲食店おすすめアプリを作ってみた
yakumo
2
260
Datadog で実現するセキュリティ対策 ~オブザーバビリティとセキュリティを 一緒にやると何がいいのか~
a2ush
0
180
Bill One 開発エンジニア 紹介資料
sansan33
PRO
5
18k
スケーリングを封じられたEC2を救いたい
senseofunity129
0
120
Even G2 クイックスタートガイド(日本語版)
vrshinobi1
0
140
GitHub Actions侵害 — 相次ぐ事例を振り返り、次なる脅威に備える
flatt_security
8
6.7k
ThetaOS - A Mythical Machine comes Alive
aslander
0
220
トイルを超えたCREは何屋になるのか
bengo4com
0
100
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
4
1.3k
RGBに陥らないために -プロダクトの価値を届けるまで-
righttouch
PRO
0
130
SaaSに宿る21g
kanyamaguc
2
180
Featured
See All Featured
A better future with KSS
kneath
240
18k
How GitHub (no longer) Works
holman
316
150k
How Software Deployment tools have changed in the past 20 years
geshan
0
33k
Ruling the World: When Life Gets Gamed
codingconduct
0
190
Making Projects Easy
brettharned
120
6.6k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
A Tale of Four Properties
chriscoyier
163
24k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
400
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
130
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
10k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
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