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
93
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
110
Other Decks in Technology
See All in Technology
Databricks:『生成AI World Cup』のご案内
databricksjapan
1
110
Aurora MySQL v3(MySQL8.0互換)の オンラインDDLの罠挙動を全バージョンで検証した
yutakikai
0
140
A (short) History of AI
harishpillay
0
100
DevOpsDays History and my DevOps story
kawaguti
PRO
1
270
Why we expect the Microservices
shkitayama
2
320
Pedestrian-Centric大規模交通安全映像解析向けWoven Traffic Safety (WTS) データセットの紹介
kbuster
0
140
〜小さく始めて大きく育てる〜データ分析基盤の開発から活用まで
kniino
0
1.7k
エンタープライズ環境下での Active Directory の運用 TIPS
tamaiyutaro
1
1.3k
アプリがつくるNOT A HOTELブランド
hokuts
0
440
クラウドサインにおけるプロダクトマネージャーの役割と開発プロセス / 20240410_cloudsign-PdM
bengo4com
1
660
巨大なテーブルのテーブル定義を無停止で安全に誰でも変更できるようにする / Table-definitions-for-huge-tables-can-be-modified-by-anyone-safely-and-non-disruptively
freee
1
710
Autonomous Database Cloud 技術詳細 / adb-s_technical_detail_jp
oracle4engineer
PRO
13
35k
Featured
See All Featured
A better future with KSS
kneath
230
16k
Robots, Beer and Maslow
schacon
PRO
154
7.9k
How to train your dragon (web standard)
notwaldorf
71
5.1k
The Straight Up "How To Draw Better" Workshop
denniskardys
227
130k
Building Flexible Design Systems
yeseniaperezcruz
318
37k
The Pragmatic Product Professional
lauravandoore
24
5.8k
VelocityConf: Rendering Performance Case Studies
addyosmani
319
23k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
We Have a Design System, Now What?
morganepeng
42
6.7k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
18
1.7k
Designing for Performance
lara
601
67k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
29
6k
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