Dal modello Relazionale al Grafo: cosa cambia?Alfonso FocaretaAlfonso.focareta@gmail.com – Pro-Netics S.p.A. – NuvolaBase ...
RDBMS Features•   Born in 1970•   Slow•   Commonly used•   Support SQL language                                           ...
Graph Database (Property Graph)       Graph = (Vertex,Edge)                                             Nome speaker    3 ...
Graph                              Nome speaker    4        Mail speaker – company or community
GraphAn object that contains vertices and edges.                                                             Nome speaker ...
VertexAn object that is connected to other objects by edges.                                                             N...
EdgeAn object that connects two vertices.                                                              Nome speaker    7  ...
Graph “Real” example                                             Nome speaker    8                       Mail speaker – co...
Graph “Real Example” 2                                                                   Sell                  Know       ...
Property Graph• Key/value-based• Directed• multi-relational                                           Nome speaker    10  ...
2012:The year of Graph (blogs.forrester.com)• social media analytics• marketing campaign optimization• customer experience...
GraphDb list•   OrientDB•   Neo4j•   Dex•   GiraffeDB                                      Nome speaker    12             ...
Document-Graph database with the support of ACIDTransactions, SQL and Native Queries, AsynchronousCommands, Intents.      ...
OrientDb - Fast150.000 documents per second10 billions of documents per day                                               ...
OrientDB – TransactionalSupports ACID Transaction:• Atomicity• Consistency• Isolation• Durability                         ...
OrientDB – SQLSupports SQL language with extensions to handle relationshipswithout JOINs, manage trees and graphs of conne...
OrientDB – Web Ready• HTTP• RESTful• JSON                                             Nome speaker    17                  ...
OrientDb - Ø configdownload, unzip, run!cut & paste the db                                              Nome speaker    18...
OrientDB – Portability• Runs everywhere is available Java® JRE1.5+• Driver in JAVA, Javascript, C, Php, Ruby, .NET, Python...
OrientDb – Hookssimilar to triggers catch events against records, database andtransactions implement custom cascade deleti...
OrientDB - FreeFREE for any use : Open Source License Apache 2.0                                                          ...
ExampleClassical Business domain : BillingObjects:• Bill• Customer• Vendor• Products                                      ...
Example Domain                                       Nome speaker    23                 Mail speaker – company or community
OrientDB – Create vertexODocument product = database.createVertex();vertex.field(”id", ”1");vertex.field(”price", 10000);V...
OrientDB create EdgeODocument product= database.createVertex();vertex.field(”id", ”1");vertex.field(”price", 10000);Vertex...
OrientDB – remove Edge / delete Vertexdatabase.removeEdge( edge )database.removeVertex( vertex )                          ...
Demo                             Nome speaker    27       Mail speaker – company or community
ThinkerPopproposes standards for the world of GraphDB through thedevelopment of open source projects                      ...
ThinkerPop - BlueprintsBlueprints is a collection of interfaces, implementations,ouplementations, and test suites for the ...
BluePrints - ExampleGraph graph = new OrientGraph("/tmp/my_graph");Vertex a = graph.addVertex(null);Vertex b = graph.addVe...
ThinkerPop - GremlinGremlin is a graph traversal language used for graph query,analysis, and manipulation.                ...
Gremlin - ExampleTBD                                          Nome speaker    32                    Mail speaker – company...
NuvolaBaseCreate your GraphDatabase on the cloud in 1 minute.www.nuvolabase.com                                           ...
Dal modello Relazionale al Grafo: cosa cambia?Alfonso Focaretaalfonso.focareta@gmail.comPro-Netics S.p.A. - Team Leader/Se...
Upcoming SlideShare
Loading in …5
×

Dal modello Relazionale al Grafo: cosa cambia? By Alfonso Focareta

1,899 views

Published on

Secondo le previsioni il 2012 sarà l'anno dei GraphDB. Cosa sono e come possono essere utilizzati in applicazioni Enterprise? Questo talk prenderà in esame i GraphDB, come sono fatti, cosa c'è di diverso rispetto ai DBMS Relazionali, pro e contro, quali standard esistono e sopratutto come mappare un classico dominio Enterprise con un grafo.

Published in: Technology, Business
  • Be the first to comment

Dal modello Relazionale al Grafo: cosa cambia? By Alfonso Focareta

  1. 1. Dal modello Relazionale al Grafo: cosa cambia?Alfonso FocaretaAlfonso.focareta@gmail.com – Pro-Netics S.p.A. – NuvolaBase ltdTwitter : @afocareta
  2. 2. RDBMS Features• Born in 1970• Slow• Commonly used• Support SQL language Nome speaker Mail speaker – company or community
  3. 3. Graph Database (Property Graph) Graph = (Vertex,Edge) Nome speaker 3 Mail speaker – company or community
  4. 4. Graph Nome speaker 4 Mail speaker – company or community
  5. 5. GraphAn object that contains vertices and edges. Nome speaker 5 Mail speaker – company or community
  6. 6. VertexAn object that is connected to other objects by edges. Nome speaker 6 Mail speaker – company or community
  7. 7. EdgeAn object that connects two vertices. Nome speaker 7 Mail speaker – company or community
  8. 8. Graph “Real” example Nome speaker 8 Mail speaker – company or community
  9. 9. Graph “Real Example” 2 Sell Know Nome speaker 9 Mail speaker – company or community
  10. 10. Property Graph• Key/value-based• Directed• multi-relational Nome speaker 10 Mail speaker – company or community
  11. 11. 2012:The year of Graph (blogs.forrester.com)• social media analytics• marketing campaign optimization• customer experience fine-tuning Nome speaker 11 Mail speaker – company or community
  12. 12. GraphDb list• OrientDB• Neo4j• Dex• GiraffeDB Nome speaker 12 Mail speaker – company or community
  13. 13. Document-Graph database with the support of ACIDTransactions, SQL and Native Queries, AsynchronousCommands, Intents. Nome speaker 13 Mail speaker – company or community
  14. 14. OrientDb - Fast150.000 documents per second10 billions of documents per day Nome speaker 14 Mail speaker – company or community
  15. 15. OrientDB – TransactionalSupports ACID Transaction:• Atomicity• Consistency• Isolation• Durability Nome speaker 15 Mail speaker – company or community
  16. 16. OrientDB – SQLSupports SQL language with extensions to handle relationshipswithout JOINs, manage trees and graphs of connecteddocuments Nome speaker 16 Mail speaker – company or community
  17. 17. OrientDB – Web Ready• HTTP• RESTful• JSON Nome speaker 17 Mail speaker – company or community
  18. 18. OrientDb - Ø configdownload, unzip, run!cut & paste the db Nome speaker 18 Mail speaker – company or community
  19. 19. OrientDB – Portability• Runs everywhere is available Java® JRE1.5+• Driver in JAVA, Javascript, C, Php, Ruby, .NET, Python … Nome speaker 19 Mail speaker – company or community
  20. 20. OrientDb – Hookssimilar to triggers catch events against records, database andtransactions implement custom cascade deletion algorithmenforce constraints Nome speaker 20 Mail speaker – company or community
  21. 21. OrientDB - FreeFREE for any use : Open Source License Apache 2.0 Nome speaker 21 Mail speaker – company or community
  22. 22. ExampleClassical Business domain : BillingObjects:• Bill• Customer• Vendor• Products Nome speaker 22 Mail speaker – company or community
  23. 23. Example Domain Nome speaker 23 Mail speaker – company or community
  24. 24. OrientDB – Create vertexODocument product = database.createVertex();vertex.field(”id", ”1");vertex.field(”price", 10000);Vertex.field(“vat type”,10)vertex.save(); Nome speaker 24 Mail speaker – company or community
  25. 25. OrientDB create EdgeODocument product= database.createVertex();vertex.field(”id", ”1");vertex.field(”price", 10000);Vertex.field(“vat type”,10)ODocument bill = database.createVertex();vertex2.field(”id", ”1");ODocument edge = database.createEdge( product, bill);edge.field(”number", ”20");edge.save(); Nome speaker 25 Mail speaker – company or community
  26. 26. OrientDB – remove Edge / delete Vertexdatabase.removeEdge( edge )database.removeVertex( vertex ) Nome speaker 26 Mail speaker – company or community
  27. 27. Demo Nome speaker 27 Mail speaker – company or community
  28. 28. ThinkerPopproposes standards for the world of GraphDB through thedevelopment of open source projects Nome speaker 28 Mail speaker – company or community
  29. 29. ThinkerPop - BlueprintsBlueprints is a collection of interfaces, implementations,ouplementations, and test suites for the property graph datamodel.Blueprints is analogous to the JDBC, but for graph databases. Nome speaker 29 Mail speaker – company or community
  30. 30. BluePrints - ExampleGraph graph = new OrientGraph("/tmp/my_graph");Vertex a = graph.addVertex(null);Vertex b = graph.addVertex(null);a.setProperty("name","marko");b.setProperty("name","peter");Edge e = graph.addEdge(null, a, b, "knows");e.setProperty("since", 2006);graph.shutdown(); Nome speaker 30 Mail speaker – company or community
  31. 31. ThinkerPop - GremlinGremlin is a graph traversal language used for graph query,analysis, and manipulation. Nome speaker 31 Mail speaker – company or community
  32. 32. Gremlin - ExampleTBD Nome speaker 32 Mail speaker – company or community
  33. 33. NuvolaBaseCreate your GraphDatabase on the cloud in 1 minute.www.nuvolabase.com Nome speaker 33 Mail speaker – company or community
  34. 34. Dal modello Relazionale al Grafo: cosa cambia?Alfonso Focaretaalfonso.focareta@gmail.comPro-Netics S.p.A. - Team Leader/Senior DeveloperNuvolaBase Ltd – Software EngineerTwitter : @afocareta

×