Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
Grafos distribuídos com Titan:db
Mike Dias
July 23, 2015
Technology
0
250
Grafos distribuídos com Titan:db
Palestra sobre Big Graph Data com Titan:db apresentada no @TheDevConf nas trilhas BigData e NoSQL
Mike Dias
July 23, 2015
Tweet
Share
More Decks by Mike Dias
See All by Mike Dias
mikedias
0
42
mikedias
0
45
mikedias
0
200
mikedias
0
48
Other Decks in Technology
See All in Technology
saoritakita
0
340
ocise
0
110
yokatsuki
1
190
clustervr
0
200
clustervr
0
160
line_developers
PRO
0
1.8k
mmarukaw
0
1.4k
con_mame
4
2k
suzukiry
0
200
y0hgi
1
370
comucal
PRO
0
410
am7cinnamon
2
2.7k
Featured
See All Featured
frogandcode
127
20k
destraynor
223
47k
imathis
478
150k
holman
288
130k
eitanlees
111
9.9k
akmur
252
19k
schacon
145
6.6k
bkeepers
408
57k
62gerente
587
200k
notwaldorf
13
1.5k
shpigford
368
42k
morganepeng
17
1.1k
Transcript
Titan:db Grafos distribuídos com @mike_dias
@mike_dias
vagas@icolabora.com.br
O que são 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
Vários tipos de análises • Ranking • Path expressions •
Scoring • Inference • Motifs • Mixing patterns • Geodesic • Etc..
Casos de uso Recomendações personalizadas Influência social
Casos de uso Melhor rota Detecção de fraude
Por que usar o Titan?
Titan:db • Grafos de tamanhos “infinitos" • Capacidades OLTP e
OLAP • 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 • Hadoop MapReduce jobs + HBase tables. Titan:db +
g.V.has('name',CONTAINS,'Bob') g.V.has('place',WITHIN,Geoshape.circle(37.97,23.72,50)) Full text & Geo Search
Integração com Hadoop GraphSON
Graph derivation
Graph statistic
TinkerPop Blueprints
Preparado para o TinkerPop3
Como usar o Titan?
Local server mode TitanGraph g = TitanFactory.build() .set("storage.backend","cassandra")
.set("storage.hostname","127.0.0.1") .open();
Remote server mode TitanGraph g = TitanFactory.build() .set("storage.backend","cassandra")
.set("storage.hostname","77.77.77.77,77.77.77.78") .open();
Remote server mode usando Rexter GET http://rexster.titan.machine1/mygraph/vertices/1 GET http://rexster.titan.machine2/mygraph/tp/gremlin
?script=g.v(1).out('follows').out('created')
Quem está usando?
http://arli.us/magazinaluiza
http://arli.us/edu-planet-scale
http://arli.us/cisco-sec1
http://pt.slideshare.net/Hadoop_Summit/t-235p230-ctang
None
Concluindo… • Vários casos de uso resolvidos com Grafos •
Titan transforma Big Data em Big "Graph" Data • Rexter expõe o Titan para qualquer linguagem • Tecnologia open source e madura
Obrigado! @mike_dias mike.rodrigues.dias@gmail.com Dúvidas?