SlideShare una empresa de Scribd logo
1 de 33
Graph Database & Neo4j
Created By: Sandip Jadhav
Puzzle
Traces through all the edges of a graph without lifting one’s pencil
and without retracing any edge more than once
1. 2. 3.
4. 5. 6.
© 2013 TomTom. All rights reserved. Confidential information.2
Euler path
• An Euler path is a path that uses every edge of a
graph exactly once.
• Seven Bridges of Königsberg is a historically
notable problem in mathematics
• Theorem: An Eulerian trail exists in a connected
graph if and only if there are either no odd vertices
or two odd vertices.
© 2013 TomTom. All rights reserved. Confidential information.3
NOSQL
© 2013 TomTom. All rights reserved. Confidential information.4
Four NOSQL Categories
• Key-value stores
• Based On Amazon’s Dynamo Paper
• Data model : (global) collection of K-V pairs
• Example : Riak, Voldemort, Redis
• Column-Family
• Based on Google’s BigTable paper
• Data Model: big table, column families
• Example : Hbase, Hypertable, Cassandra
© 2013 TomTom. All rights reserved. Confidential information.5
Four NOSQL Categories
• Document Databases
• Inspired by Lotus Notes
• Data model : collection of K-V Collection
• Example : CouchDB, MongoDB
• Graph Databases
• Inspired by Euler & graph theory
• Data Model: nodes, relationship
• Example : AllegroGraph,Sones,Neo4j
© 2013 TomTom. All rights reserved. Confidential information.6
© 2013 TomTom. All rights reserved. Confidential information.7
Path Puzzles
© 2013 TomTom. All rights reserved. Confidential information.8
Mumbai Local Map
Graph to represent simple map
© 2013 TomTom. All rights reserved. Confidential information.9
Early Adopters of Graph Tech
Facebook Social Graph
© 2013 TomTom. All rights reserved. Confidential information.10
Early Adopters of Graph Tech
Google internet graph ( Page Rank ) & Knowledge Graph
© 2013 TomTom. All rights reserved. Confidential information.11
Google Knowledge Graph
© 2013 TomTom. All rights reserved. Confidential information.12
Graph Database
& Neo4j Intro
© 2013 TomTom. All rights reserved. Confidential information.13
Graph are Whiteboard friendly
© 2013 TomTom. All rights reserved. Confidential information.14
Top Reasons choose Graph database
15
• Problems with Join performance.
• Continuously evolving data set (often
involves wide and sparse tables)
• The Shape of Domain is naturally a
graph
• Open-ended business requirements
necessitating fast, iterative
development.
© 2013 TomTom. All rights reserved. Confidential information.
Graph Databases are Designed to:
• Highly connected data (social networks)
• Make sense of that data
• Recommendations (e-commerce)
• Path Finding (how do I know you?)
• A* (Least Cost path)
Data First Schema (bottom-up, but you still need to
design)
© 2013 TomTom. All rights reserved. Confidential information.16
Emerging Domains to use Graph DB
17 © 2013 TomTom. All rights reserved. Confidential information.
Neo4j
© 2013 TomTom. All rights reserved. Confidential information.18
Graph Db (Neo4j) Performance
© 2013 TomTom. All rights reserved. Confidential information.19
The Neo4J Secrete Sauce
© 2013 TomTom. All rights reserved. Confidential information.20
Neo4j Example : Matrix Movie
21 © 2013 TomTom. All rights reserved. Confidential information.
Create node & relationship
© 2013 TomTom. All rights reserved. Confidential information.22
Transaction
© 2013 TomTom. All rights reserved. Confidential information.23
Define Relationship
© 2013 TomTom. All rights reserved. Confidential information.24
Travels Graph
© 2013 TomTom. All rights reserved. Confidential information.25
Result of Travelasal
© 2013 TomTom. All rights reserved. Confidential information.26
Neo4J Logical architecture
© 2013 TomTom. All rights reserved. Confidential information.27
Query language : Cypher
© 2013 TomTom. All rights reserved. Confidential information.28
Query language : Cypher
© 2013 TomTom. All rights reserved. Confidential information.29
Query language : Gremlin
© 2013 TomTom. All rights reserved. Confidential information.30
• Graph travels language
• DSL (Groovy based)
http://console.neo4j.org/
© 2013 TomTom. All rights reserved. Confidential information.31
References
• http://martinfowler.com/bliki/PolyglotPersistence.html
• http://neo4j.com
© 2013 TomTom. All rights reserved. Confidential information.32
Thank you
Any questions?

Más contenido relacionado

La actualidad más candente

The openCypher Project - An Open Graph Query Language
The openCypher Project - An Open Graph Query LanguageThe openCypher Project - An Open Graph Query Language
The openCypher Project - An Open Graph Query Language
Neo4j
 
Graph Databases, The Web of Data Storage Engines
Graph Databases, The Web of Data Storage EnginesGraph Databases, The Web of Data Storage Engines
Graph Databases, The Web of Data Storage Engines
Pere Urbón-Bayes
 
An Introduction to Graph Databases
An Introduction to Graph DatabasesAn Introduction to Graph Databases
An Introduction to Graph Databases
InfiniteGraph
 

La actualidad más candente (20)

Intro to Neo4j with Ruby
Intro to Neo4j with RubyIntro to Neo4j with Ruby
Intro to Neo4j with Ruby
 
Introducing Neo4j
Introducing Neo4jIntroducing Neo4j
Introducing Neo4j
 
The openCypher Project - An Open Graph Query Language
The openCypher Project - An Open Graph Query LanguageThe openCypher Project - An Open Graph Query Language
The openCypher Project - An Open Graph Query Language
 
Introduction to Graph Databases
Introduction to Graph DatabasesIntroduction to Graph Databases
Introduction to Graph Databases
 
Introduction to Graph databases and Neo4j (by Stefan Armbruster)
Introduction to Graph databases and Neo4j (by Stefan Armbruster)Introduction to Graph databases and Neo4j (by Stefan Armbruster)
Introduction to Graph databases and Neo4j (by Stefan Armbruster)
 
Introducing Neo4j graph database
Introducing Neo4j graph databaseIntroducing Neo4j graph database
Introducing Neo4j graph database
 
Introduction: Relational to Graphs
Introduction: Relational to GraphsIntroduction: Relational to Graphs
Introduction: Relational to Graphs
 
Neo4j GraphDay Seattle- Sept19- neo4j basic training
Neo4j GraphDay Seattle- Sept19- neo4j basic trainingNeo4j GraphDay Seattle- Sept19- neo4j basic training
Neo4j GraphDay Seattle- Sept19- neo4j basic training
 
Intro to Neo4j and Graph Databases
Intro to Neo4j and Graph DatabasesIntro to Neo4j and Graph Databases
Intro to Neo4j and Graph Databases
 
Benchmarking graph databases on the problem of community detection
Benchmarking graph databases on the problem of community detectionBenchmarking graph databases on the problem of community detection
Benchmarking graph databases on the problem of community detection
 
Einführung in Neo4j
Einführung in Neo4jEinführung in Neo4j
Einführung in Neo4j
 
Graph db
Graph dbGraph db
Graph db
 
An Introduction to Graph: Database, Analytics, and Cloud Services
An Introduction to Graph:  Database, Analytics, and Cloud ServicesAn Introduction to Graph:  Database, Analytics, and Cloud Services
An Introduction to Graph: Database, Analytics, and Cloud Services
 
Data Modeling with Neo4j
Data Modeling with Neo4jData Modeling with Neo4j
Data Modeling with Neo4j
 
Data Modeling with Neo4j
Data Modeling with Neo4jData Modeling with Neo4j
Data Modeling with Neo4j
 
Hadoop and Neo4j: A Winning Combination for Bioinformatics
Hadoop and Neo4j: A Winning Combination for BioinformaticsHadoop and Neo4j: A Winning Combination for Bioinformatics
Hadoop and Neo4j: A Winning Combination for Bioinformatics
 
Graph Databases, The Web of Data Storage Engines
Graph Databases, The Web of Data Storage EnginesGraph Databases, The Web of Data Storage Engines
Graph Databases, The Web of Data Storage Engines
 
An Introduction to Graph Databases
An Introduction to Graph DatabasesAn Introduction to Graph Databases
An Introduction to Graph Databases
 
A whirlwind tour of graph databases
A whirlwind tour of graph databasesA whirlwind tour of graph databases
A whirlwind tour of graph databases
 
Introducing Neo4j 3.0
Introducing Neo4j 3.0Introducing Neo4j 3.0
Introducing Neo4j 3.0
 

Similar a Graph database & neo4j

NOSQL Databases for the .NET Developer
NOSQL Databases for the .NET DeveloperNOSQL Databases for the .NET Developer
NOSQL Databases for the .NET Developer
Jesus Rodriguez
 
Intro to Big Data and NoSQL
Intro to Big Data and NoSQLIntro to Big Data and NoSQL
Intro to Big Data and NoSQL
Don Demcsak
 

Similar a Graph database & neo4j (20)

Python Ireland Conference 2016 - Python and MongoDB Workshop
Python Ireland Conference 2016 - Python and MongoDB WorkshopPython Ireland Conference 2016 - Python and MongoDB Workshop
Python Ireland Conference 2016 - Python and MongoDB Workshop
 
Gephi, Graphx, and Giraph
Gephi, Graphx, and GiraphGephi, Graphx, and Giraph
Gephi, Graphx, and Giraph
 
Graph Databases
Graph DatabasesGraph Databases
Graph Databases
 
Openstreetmap
OpenstreetmapOpenstreetmap
Openstreetmap
 
OpenStreetMap in 3D - current developments
OpenStreetMap in 3D - current developmentsOpenStreetMap in 3D - current developments
OpenStreetMap in 3D - current developments
 
Bryan Thompson, Chief Scientist and Founder, SYSTAP, LLC at MLconf ATL
Bryan Thompson, Chief Scientist and Founder, SYSTAP, LLC at MLconf ATLBryan Thompson, Chief Scientist and Founder, SYSTAP, LLC at MLconf ATL
Bryan Thompson, Chief Scientist and Founder, SYSTAP, LLC at MLconf ATL
 
Using Big Data techniques to query and store OpenStreetMap data. Stephen Knox...
Using Big Data techniques to query and store OpenStreetMap data. Stephen Knox...Using Big Data techniques to query and store OpenStreetMap data. Stephen Knox...
Using Big Data techniques to query and store OpenStreetMap data. Stephen Knox...
 
BDM8 - Near-realtime Big Data Analytics using Impala
BDM8 - Near-realtime Big Data Analytics using ImpalaBDM8 - Near-realtime Big Data Analytics using Impala
BDM8 - Near-realtime Big Data Analytics using Impala
 
Ciel, mes données ne sont plus relationnelles
Ciel, mes données ne sont plus relationnellesCiel, mes données ne sont plus relationnelles
Ciel, mes données ne sont plus relationnelles
 
Neo4j - Rik Van Bruggen
Neo4j - Rik Van BruggenNeo4j - Rik Van Bruggen
Neo4j - Rik Van Bruggen
 
NOSQL Databases for the .NET Developer
NOSQL Databases for the .NET DeveloperNOSQL Databases for the .NET Developer
NOSQL Databases for the .NET Developer
 
Intro to Big Data and NoSQL
Intro to Big Data and NoSQLIntro to Big Data and NoSQL
Intro to Big Data and NoSQL
 
Social Networks Analysis
Social Networks AnalysisSocial Networks Analysis
Social Networks Analysis
 
CCS334 BIG DATA ANALYTICS Session 3 Distributed models.pptx
CCS334 BIG DATA ANALYTICS Session 3 Distributed models.pptxCCS334 BIG DATA ANALYTICS Session 3 Distributed models.pptx
CCS334 BIG DATA ANALYTICS Session 3 Distributed models.pptx
 
Thorny Path to the Large Scale Graph Processing, Алексей Зиновьев (Тамтэк)
Thorny Path to the Large Scale Graph Processing, Алексей Зиновьев (Тамтэк)Thorny Path to the Large Scale Graph Processing, Алексей Зиновьев (Тамтэк)
Thorny Path to the Large Scale Graph Processing, Алексей Зиновьев (Тамтэк)
 
Thorny path to the Large-Scale Graph Processing (Highload++, 2014)
Thorny path to the Large-Scale Graph Processing (Highload++, 2014)Thorny path to the Large-Scale Graph Processing (Highload++, 2014)
Thorny path to the Large-Scale Graph Processing (Highload++, 2014)
 
DubJug: Neo4J and Open Data
DubJug: Neo4J and Open DataDubJug: Neo4J and Open Data
DubJug: Neo4J and Open Data
 
Designing analytics for big data
Designing analytics for big dataDesigning analytics for big data
Designing analytics for big data
 
Lawrence Livermore Labs talk 2011
Lawrence Livermore Labs talk 2011Lawrence Livermore Labs talk 2011
Lawrence Livermore Labs talk 2011
 
Improving computer vision models at scale presentation
Improving computer vision models at scale presentationImproving computer vision models at scale presentation
Improving computer vision models at scale presentation
 

Último

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Último (20)

Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 

Graph database & neo4j

  • 1. Graph Database & Neo4j Created By: Sandip Jadhav
  • 2. Puzzle Traces through all the edges of a graph without lifting one’s pencil and without retracing any edge more than once 1. 2. 3. 4. 5. 6. © 2013 TomTom. All rights reserved. Confidential information.2
  • 3. Euler path • An Euler path is a path that uses every edge of a graph exactly once. • Seven Bridges of Königsberg is a historically notable problem in mathematics • Theorem: An Eulerian trail exists in a connected graph if and only if there are either no odd vertices or two odd vertices. © 2013 TomTom. All rights reserved. Confidential information.3
  • 4. NOSQL © 2013 TomTom. All rights reserved. Confidential information.4
  • 5. Four NOSQL Categories • Key-value stores • Based On Amazon’s Dynamo Paper • Data model : (global) collection of K-V pairs • Example : Riak, Voldemort, Redis • Column-Family • Based on Google’s BigTable paper • Data Model: big table, column families • Example : Hbase, Hypertable, Cassandra © 2013 TomTom. All rights reserved. Confidential information.5
  • 6. Four NOSQL Categories • Document Databases • Inspired by Lotus Notes • Data model : collection of K-V Collection • Example : CouchDB, MongoDB • Graph Databases • Inspired by Euler & graph theory • Data Model: nodes, relationship • Example : AllegroGraph,Sones,Neo4j © 2013 TomTom. All rights reserved. Confidential information.6
  • 7. © 2013 TomTom. All rights reserved. Confidential information.7
  • 8. Path Puzzles © 2013 TomTom. All rights reserved. Confidential information.8
  • 9. Mumbai Local Map Graph to represent simple map © 2013 TomTom. All rights reserved. Confidential information.9
  • 10. Early Adopters of Graph Tech Facebook Social Graph © 2013 TomTom. All rights reserved. Confidential information.10
  • 11. Early Adopters of Graph Tech Google internet graph ( Page Rank ) & Knowledge Graph © 2013 TomTom. All rights reserved. Confidential information.11 Google Knowledge Graph
  • 12. © 2013 TomTom. All rights reserved. Confidential information.12 Graph Database & Neo4j Intro
  • 13. © 2013 TomTom. All rights reserved. Confidential information.13
  • 14. Graph are Whiteboard friendly © 2013 TomTom. All rights reserved. Confidential information.14
  • 15. Top Reasons choose Graph database 15 • Problems with Join performance. • Continuously evolving data set (often involves wide and sparse tables) • The Shape of Domain is naturally a graph • Open-ended business requirements necessitating fast, iterative development. © 2013 TomTom. All rights reserved. Confidential information.
  • 16. Graph Databases are Designed to: • Highly connected data (social networks) • Make sense of that data • Recommendations (e-commerce) • Path Finding (how do I know you?) • A* (Least Cost path) Data First Schema (bottom-up, but you still need to design) © 2013 TomTom. All rights reserved. Confidential information.16
  • 17. Emerging Domains to use Graph DB 17 © 2013 TomTom. All rights reserved. Confidential information.
  • 18. Neo4j © 2013 TomTom. All rights reserved. Confidential information.18
  • 19. Graph Db (Neo4j) Performance © 2013 TomTom. All rights reserved. Confidential information.19
  • 20. The Neo4J Secrete Sauce © 2013 TomTom. All rights reserved. Confidential information.20
  • 21. Neo4j Example : Matrix Movie 21 © 2013 TomTom. All rights reserved. Confidential information.
  • 22. Create node & relationship © 2013 TomTom. All rights reserved. Confidential information.22
  • 23. Transaction © 2013 TomTom. All rights reserved. Confidential information.23
  • 24. Define Relationship © 2013 TomTom. All rights reserved. Confidential information.24
  • 25. Travels Graph © 2013 TomTom. All rights reserved. Confidential information.25
  • 26. Result of Travelasal © 2013 TomTom. All rights reserved. Confidential information.26
  • 27. Neo4J Logical architecture © 2013 TomTom. All rights reserved. Confidential information.27
  • 28. Query language : Cypher © 2013 TomTom. All rights reserved. Confidential information.28
  • 29. Query language : Cypher © 2013 TomTom. All rights reserved. Confidential information.29
  • 30. Query language : Gremlin © 2013 TomTom. All rights reserved. Confidential information.30 • Graph travels language • DSL (Groovy based)
  • 31. http://console.neo4j.org/ © 2013 TomTom. All rights reserved. Confidential information.31
  • 32. References • http://martinfowler.com/bliki/PolyglotPersistence.html • http://neo4j.com © 2013 TomTom. All rights reserved. Confidential information.32

Notas del editor

  1. Data Model ColumnFamily:  ColumnFamily is a single structure that can group Columns and SuperColumns with ease. Key: the permanent name of the record. Keys have different numbers of columns, so the database can scale in an irregular way. Keyspace:  This defines the outermost level of an organization, typically the name of the application. For example, ‘3PillarDataBase’ (database name). Column:  It has an ordered list of elements aka tuple with a name and a value defined. In comparison, most relational DBMS store data in rows, the benefit of storing data in columns, is fast search/ access and data aggregation
  2.  polyglot persistence will come at a cost - but it will come because the benefits are worth it.
  3. A Graph Database + Lucene Index Property Graph Full ACID (atomicity, consistency, isolation, durability) High Availability (with Enterprise Edition) 32 Billion Nodes, 32 Billion Relationships, 64 Billion Properties Embedded Server REST API