Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Grafos em escala: Usando Titan, Faunus e Hadoop...
Search
Arthur Grava
March 30, 2016
Technology
150
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Grafos em escala: Usando Titan, Faunus e Hadoop para recomendação de produtos
Arthur Grava
March 30, 2016
Other Decks in Technology
See All in Technology
Classmethod Company Deck
satoshi7
1
730
パスキーの自動テストはどこまでいけるのか
teamlab
PRO
0
280
ソフトウェア ファクトリー - 再現性のあるソフトウェアの工場づくり / Software factory
iktakahiro
6
5.1k
サブエージェントと Claude Mods で作る独自 Advisor ツールの話
kenichiodo
2
170
Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
1
760
Metadata - Section 1: HTML Basics
mohab1
0
120
Rust で関数型ドメインモデリング
takonda
0
170
フィンテック養成勉強会#68
finengine
0
140
触りたくないデータに、どう触るか AI時代のRBACアクセスガバナンス
ivry_presentationmaterials
0
280
フロントエンドカンファレンス関西2026 - 速すぎるUIに、待ち時間を
teamlab
PRO
0
190
WasmをRustにする
sansantech
PRO
0
270
Local CI × GitHub Actions
gogutan
3
230
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
174
15k
Fireside Chat
paigeccino
43
4.1k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.4k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
300
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Paper Plane (Part 1)
katiecoart
PRO
2
12k
It's Worth the Effort
3n
188
29k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
46k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
The untapped power of vector embeddings
frankvandijk
2
1.9k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3.1k
Building a Scalable Design System with Sketch
lauravandoore
464
34k
Transcript
Grafos em escala Usando Titan, Faunus e Hadoop para recomendação
de produtos Arthur Grava Engenheiro Líder de Big Data @arthur_grava
[email protected]
• 786 lojas físicas • 8 centros de distribuição •
+18 mil colaboradores • +40 milhões de clientes • 16 milhões de visitantes únicos mês
Sistemas de recomendação
Sistemas de recomendação • Magazine Luiza • ~40k visitantes únicos
por hora • ~120k views em produtos por hora
Sistemas de recomendação
Sistemas de recomendação
Sistemas de recomendação
Sistemas de recomendação
Sistemas de recomendação
Grafos
Grafos • Conjunto de vértices
Grafos • Conjunto de vértices • Conjunto de arestas entre
vértices
Porque utilizar Grafos? • Modelagem simplificada • Abstração das relações
entre clientes e produtos • Facilidade em iterar nas entidades e seus relacionamentos • Facilidade para o cálculo de comportamentos básicos
Schema
Como representar dados em grafos?
Titan
Facilidades lidando com grafos • Titan, assim como outros bancos
/ frameworks, utilizam o Gremlin (DSL para grafos) • Facilita a escrita do código • Compatibilidade com outras plataformas
Facilidades lidando com grafos
Facilidades lidando com grafos
Facilidades lidando com grafos viu
Facilidades em cálculos simples
Facilidades em cálculos simples
Facilidades em cálculos simples
Facilidades em cálculos simples
Facilidades em cálculos simples SKU COUNT tv_2 1 tv_3 2
tv_4 3 tv_5 1
Facilidades em cálculos simples SKU COUNT tv_4 3 tv_3 2
tv_2 1 tv_5 1
Problemas?
Problemas...
Problemas...
Problemas... http://thinkaurelius.github.io/titan/wikidoc/0.4.4/Titan-Data-Model.html
Problemas... http://thinkaurelius.github.io/titan/wikidoc/0.4.4/Titan-Data-Model.html
Problemas... • Estávamos criando supernodes • Produtos muito populares causando
esse problema
Problemas... • Estávamos criando supernodes • Produtos muito populares causando
esse problema
Solução • Remodelagem do grafo • Manter arestas que podem
causar impacto por volume como unidirecionais
Mais problemas... • Não temos mais a aresta que de
produto para sessão!
Mais problemas... • Não temos mais a aresta que de
produto para sessão!
Stewie
• ~600 milhões de vértices • ~ 2.5 bilhões de
arestas • 1TB+ de dados • Tempo de resposta para uma query simples • 45ms • ~2500 read requests / sec • ~100 write requests / sec O quão grande?
Muito obrigado! Arthur Grava Engenheiro Líder de Big Data @arthur_grava
[email protected]
Perguntas? Arthur Grava Engenheiro Líder de Big Data @arthur_grava
[email protected]
None