Graph Databases introduction to rug-b


Published on

Presentation done to the ruby user group from berlin about graphdbs

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Graph Databases introduction to rug-b

  1. 1. Graph Databases Pere Urbon-Bayes Software Engineer Moviepilot GmbH
  2. 2. Graph Databases● Graph● Databases● Use cases● Vendors● Examples
  3. 3. Graph DatabasesGraph G(V,E) where V = {V1, V2, ..., VN} and E = {E1, E2, ... , EN} EN = (VN, VM)● Directed, Undirected● Mixed● Multigraph● Weighted● ....
  4. 4. Graph DatabasesTots els camins porten a Roma Alle Wege führen nach Rom
  5. 5. Graph Databases{ Implementations : { matrix : [ adjacency, incidence ], list : [ adjacency, incidence ], .....}
  6. 6. Graph Databases{ { A:{ vertex : [A, B, C, D] out: [B,C], edges : { in: [C], [A,B], } [B,C], [D,A], B:{ [C,A] out : [C] } } } C:{ A in : [A] }} C B
  7. 7. Graph Databases The property graphAbstraction layer Nodes Edges Properties on both Adam Balduim played in Full Metal Jacket played Actor Movie name = Adam Balduim title = Full Metal Jacket
  8. 8. Graph DatabasesA graph database is a database that uses graphstructures with nodes, edges, and properties to represent and store information. General graph databases that can store any graph are distinct from specialized graph databases such as triple stores and network databases. []
  9. 9. Graph DatabasesGraphDB Vendors Overview!
  10. 10. Graph Databases VendorsNeo4J (, disk-based, fully transactional Javapersistence engine that stores data structured ingraphs rather than in tables.Dual-Licensed AGPL and Commercial.High Availability, scalability, concurrent,etc.
  11. 11. Graph Databases VendorsOrientDBAn embedded pure java fast, transactional,scalable document-graph storage engine.Schema free, ACID, suport for SQL and JSON.Apache License 2.0More info:
  12. 12. Graph Database Vendors● Dex: The high performance graph database.● HyperGraphDB: An IA and semantic web graph database.● Infogrid: The Internet Graph database.● Sones: SaaS dot Net Graph database.● VertexDB: High performance database server.
  13. 13. Graph Database Graph processing frameworks● Phoebus : Pregel implementation in Erlang.● Pregel : Google graph processing platform.● Trinity : Microsoft C# future graph platform.● Apache Hama: Distributed computing over graphs.
  14. 14. Graph Database Graph APIs● Blueprints: A Java api for the property graph.● Gremlin: A graph query language.● Pipes: A graph processing framework.● Rexter: A REST server used to access graphdbs.
  15. 15. Graph Databases● Use cases
  16. 16. Graph Database Use cases● Task planning.● Scheduling● Process assignation● Routing● Logistics● League planning
  17. 17. Graph Database Use cases● Clustering● Social analysis● Hubs● Graph mining● Centrality measures● Location based services
  18. 18. Graph Database Use cases● Recommendation ● Heuristics ● Local – Shortest Paths – Hammock functions. – Walks – Search algorithms, like A* – Shooting stars – K-nearest neighbors
  19. 19. Graph Database Use cases● Semantic web. ● RDF (OWL) store ● RDF-Sail ● SPARQL● Linked data● Link analysis● Structure mining
  20. 20. Graph DatabaseNeo4j.rb Neo4j using JRuby