Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Grafos com TinkerPop3 e TitanDB - TDC2016

Grafos com TinkerPop3 e TitanDB - TDC2016

Mike Dias

July 08, 2016
Tweet

More Decks by Mike Dias

Other Decks in Technology

Transcript

  1. mother name: hercules age: 30 type: demigod name: alcmene age:

    24 type: human name: jupter age: 5000 type: god father
  2. mother name: hercules age: 30 type: demigod name: alcmene age:

    24 type: human name: jupter age: 5000 type: god father Vertex
  3. mother name: hercules age: 30 type: demigod name: alcmene age:

    24 type: human name: jupter age: 5000 type: god father Edge
  4. mother name: hercules age: 30 type: demigod name: alcmene age:

    24 type: human name: jupter age: 5000 type: god father Property
  5. Apache TinkerPop • Vendor-agnostic graph compute framework • Gremlin -

    graph traversal language • Capacidades OLTP e OLAP
  6. 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");
  7. 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");
  8. Gremlin lang What are the names of Gremlin's friends' friends?

    g.V().has("name","gremlin").
 out("knows").
 out("knows").
 values("name")
  9. 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
  10. Concluindo… • Vários casos de uso resolvidos com Grafos •

    Quando for usar grafos, use TinkerPop3 • Titan transforma Big Data em Big "Graph" Data