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
Grafos com TinkerPop3 e TitanDB - TDC2016
Search
Mike Dias
July 08, 2016
Technology
98
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Grafos com TinkerPop3 e TitanDB - TDC2016
Mike Dias
July 08, 2016
More Decks by Mike Dias
See All by Mike Dias
Elytics: Métricas em tempo real no Elo7
mikedias
0
120
Grafos distribuídos com Titan:db
mikedias
0
440
Index Activiti data on Elasticsearch
mikedias
0
400
TinkerPop Blueprints
mikedias
0
88
Other Decks in Technology
See All in Technology
失敗を資産に変えるClaude Code
shinyasaita
0
700
不要なレビューをAIにまかせて AIコーディングの環境改善を加速した
shoota
1
220
Kiroで書いた 設計書 が AI レビューの 採点基準 になる
ezaki
0
120
2026TECHFRESH畢業分享會 - AI 時代的人生存檔點
line_developers_tw
PRO
0
1.2k
手塩にかけりゃいいってもんじゃない
ming_ayami
0
600
LayerX コーポレートエンジニアリング室におけるサプライチェーンセキュリティへの取り組み / Supply Chain Security at LayerX Corporate Engineering
yuyatakeyama
2
660
エラーバジェットのアラートのタイミングを考える.pdf
kairim0
0
160
アジャイルな経理と Claude Code と経営の未来
kawaguti
PRO
3
150
Bucharest Tech Week 2026 - Reinventing testing practices in the AI era
edeandrea
PRO
1
160
あなたの知らないPDFのアクセシビリティ
lycorptech_jp
PRO
0
210
人材育成分科会.pdf
_awache
4
290
新しいUbuntu/GNOMEが使いたいからXからWaylandへ移行頑張ってるの巻 2026-06-20
nobutomurata
0
140
Featured
See All Featured
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
230
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.3k
Side Projects
sachag
455
43k
Navigating Weather and Climate Data
rabernat
0
220
Typedesign – Prime Four
hannesfritz
42
3.1k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
340
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
210
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Code Review Best Practice
trishagee
74
20k
KATA
mclloyd
PRO
35
15k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
440
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
220
Transcript
Titan:db TinkerPop3 Grafos com e @mike_dias
@mike_dias
None
Agenda • Grafos • TinkerPop3 • TitanDB
Grafos
mother name: hercules age: 30 type: demigod name: alcmene age:
24 type: human name: jupter age: 5000 type: god father
mother name: hercules age: 30 type: demigod name: alcmene age:
24 type: human name: jupter age: 5000 type: god father Vertex
mother name: hercules age: 30 type: demigod name: alcmene age:
24 type: human name: jupter age: 5000 type: god father Edge
mother name: hercules age: 30 type: demigod name: alcmene age:
24 type: human name: jupter age: 5000 type: god father Property
Property Graph
Por que usar grafos
Modelagem intuitiva
Queries expressivas
Casos de uso Recomendações personalizadas Influência social
Casos de uso Melhor rota Detecção de fraude
Quero usar grafos! #comofas?
Apache TinkerPop • Vendor-agnostic graph compute framework • Gremlin -
graph traversal language • Capacidades OLTP e OLAP
Core API Graph graph = TinkerGraph.open(); Vertex nosql =
graph.addVertex("trilha"); nosql.property("nome", "NoSQL"); Vertex tdc2016 = graph.addVertex("evento"); tdc2016.property("nome", "TDC 2016"); Edge e = nosql.addEdge("compoe", tdc2016); e.property("data", "08/07/2016");
Core API Graph graph = Neo4jGraph.open("..."); Vertex nosql =
graph.addVertex("trilha"); nosql.property("nome", "NoSQL"); Vertex tdc2016 = graph.addVertex("evento"); tdc2016.property("nome", "TDC 2016"); Edge e = nosql.addEdge("compoe", tdc2016); e.property("data", "08/07/2016");
TinkerPop-enabled Vendors TitanGraph.open(…) Neo4jGraph.open(…) OrientGraph.open(…) StardogGraph.open(…) DSEGraph.open(…) BlazeGraph.open(…)
Gremlin lang What are the names of Gremlin's friends' friends?
g.V().has("name","gremlin"). out("knows"). out("knows"). values("name")
Gremlin console
OLTP vs OLAP
Spark computer graph = GraphFactory.open(…); g = graph.traversal(). withComputer(SparkGraphComputer.class);
g.V().hasLabel("person").groupCount().by("age")
Giraph computer graph = GraphFactory.open(…); g = graph.traversal(). withComputer(GiraphGraphComputer.class);
g.V().hasLabel("person").groupCount().by("age")
Gremlin server REST WebSockets
Learn more http://sql2gremlin.com https://academy.datastax.com/courses/ds232-the-gremlin-graph-query-language https://academy.datastax.com/resources/getting-started-graph-databases http://tinkerpop.apache.org
Meu grafo é muito grande. #comofas?
Titan:db • Suporte nativo ao TinkerPop3 • Storages configuráveis •
Licença Apache 2
Backend flexível
Titan:db + • Disponibilidade contínua sem ponto único de falha
• Sem gargalos na leitura ou escrita no grafo • Escalabilidade elástica • Cache de dados frequentemente acessados
• Leituras e escritas estritamente consistentes • Escalabilidade linear •
Integração com o ecossistema Hadoop Titan:db +
g.V().has('name',CONTAINS,'Bob') g.V().has('place',WITHIN,Geoshape.circle(37.97,23.72,50)) Full text & Geo Search
Vertex centric index
Graph partitioning
Disclaimer
Quem está usando?
http://arli.us/edu-planet-scale
http://arli.us/magazinaluiza
http://arli.us/cisco-sec1
http://pt.slideshare.net/Hadoop_Summit/t-235p230-ctang
https://videos.dabcc.com/aws-reinvent-2015-dat203-building- graph-databases-on-aws/
Concluindo… • Vários casos de uso resolvidos com Grafos •
Quando for usar grafos, use TinkerPop3 • Titan transforma Big Data em Big "Graph" Data
Obrigado! @mike_dias
[email protected]
Dúvidas?