Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Neo4j + MongoDB
GraphConnect SF 2015
Neo4j Doc Manager for Mongo Connector
About
Developer Relations Engineer @Neo4j
william.lyon@neo4j.com
@lyonwj
lyonwj.com
William Lyon
Agenda
• MongoDB overview
• Why MongoDB + Neo4j?
• Use case
• Neo4j Doc Manager for Mongo Connector
• New community projec...
MongoDB
Document Database
• Document datamodel
• JSON-like documents (BSON)
• Complex queries
• Replication / sharding
{
"...
Why Neo4j + MongoDB?
Polyglot persistence
• Take advantage of features of each database technology
• http://martinfowler.c...
Course Catalog Use-case
• Product catalog
• High volume reads
• Indexed queries
Course Catalog Browse & Search
Course Catalog Browse and Search
Course Catalog
Course Catalog
MongoDB, Mongo, and the leaf logo are registered trademarks of MongoDB, Inc.
Polyglot Persistence
http://www.jamesserra.com/archive/2015/07/what-is-polyglot-persistence/
Functionality Database type
S...
Neo4j Doc Manager
Mongo Connector
• Automatically sync documents from
MongoDB to Neo4j
• Convert BSON documents into graph...
Neo4j Doc Manager
Automatically sync documents from MongoDB to Neo4j
MongoDB, Mongo, and the leaf logo are registered trad...
Neo4j Doc Manager
Converts BSON documents into property graph model
• Documents converted to property graph
• Based on str...
Document to property graph talk.json
{
"session": {
"title": "12 Years of Spring: An Open Source
Journey",
"abstract": "Sp...
Document to property graph talk.json
{
"session": {
"title": "12 Years of Spring: An Open Source
Journey",
"abstract": "Sp...
DEMO…
DEMO
MongoDB, Mongo, and the leaf logo are registered trademarks of MongoDB, Inc.
MongoDB Product Catalog Design Pattern
{
“courseId”: “a843fc”,
“description”: “Neo4j is in use in thousands of deployments...
Examine a specific course
All course categories taken by a student
Recommended courses
Appendix / Resources
Neo4j + MongoDB
• Routing
Use case
http://neo4j.com/blog/polyglot-persistence-mongodb-wanderu-case-study/
http://neo4j.com...
Neo4j + MongoDB
What insights can we draw from connected documents?
• Content recommendation
http://www.lyonwj.com/2015/05...
Neo4j + MongoDB
• Healthcare analytics
http://neo4j.com/case-studies/zephyr-health/
Use case
Neo4j Doc Manager
Docker test environment
• Neo4j, MongoDB, neo4j-doc-manager
• Docker compose
• https://github.com/JoergM...
Neo4j Doc Manager
Feedback welcome!
• Alpha version
https://github.com/neo4j-contrib/neo4j_doc_manager
Upcoming SlideShare
Loading in …5
×

Neo4j + MongoDB. Neo4j Doc Manager for Mongo Connector - GraphConnect SF 2015

2,007 views

Published on

Polyglot persistence is all about taking advantage of the strengths of multiple database technologies together to enhance your application. The Neo4j Doc Manager for Mongo Connector allows application developers to use the Neo4j graph database alongside the MongoDB document database to add functionality to applications.

Published in: Software

Neo4j + MongoDB. Neo4j Doc Manager for Mongo Connector - GraphConnect SF 2015

  1. 1. Neo4j + MongoDB GraphConnect SF 2015 Neo4j Doc Manager for Mongo Connector
  2. 2. About Developer Relations Engineer @Neo4j william.lyon@neo4j.com @lyonwj lyonwj.com William Lyon
  3. 3. Agenda • MongoDB overview • Why MongoDB + Neo4j? • Use case • Neo4j Doc Manager for Mongo Connector • New community project • Demo! + MongoDB, Mongo, and the leaf logo are registered trademarks of MongoDB, Inc.
  4. 4. MongoDB Document Database • Document datamodel • JSON-like documents (BSON) • Complex queries • Replication / sharding { "session": { "title": "12 Years of Spring: An Open Source Journey", "abstract": "Spring emerged as a core open source project in early 2003 and evolved to a broad portfolio of open source projects up until 2015." }, "topics": [ "keynote", "spring" ], "room": "Auditorium", "timeslot": "Wed 29th, 09:30-10:30", "speaker": { "name": "Juergen Hoeller", "bio": "Juergen Hoeller is co-founder of the Spring Framework open source project.", "twitter": "https://twitter.com/springjuergen", "picture": "http://www.springio.net/wp-content/uploads/2014/11/ juergen_hoeller-220x220.jpeg" } } MongoDB, Mongo, and the leaf logo are registered trademarks of MongoDB, Inc.
  5. 5. Why Neo4j + MongoDB? Polyglot persistence • Take advantage of features of each database technology • http://martinfowler.com/bliki/PolyglotPersistence.html • Native graph datamodel • Index free adjacency • Graph traversal queries • Document datamodel • Performant document reads / writes • Complex querying • Aggregation (MapReduce) MongoDB, Mongo, and the leaf logo are registered trademarks of MongoDB, Inc.
  6. 6. Course Catalog Use-case • Product catalog • High volume reads • Indexed queries
  7. 7. Course Catalog Browse & Search
  8. 8. Course Catalog Browse and Search
  9. 9. Course Catalog
  10. 10. Course Catalog MongoDB, Mongo, and the leaf logo are registered trademarks of MongoDB, Inc.
  11. 11. Polyglot Persistence http://www.jamesserra.com/archive/2015/07/what-is-polyglot-persistence/ Functionality Database type Shopping Cart Rapid session reads / writes Key-value store Orders / Product Catalog Frequent reads Document Customer social graph Recommendation Graph MongoDB, Mongo, and the leaf logo are registered trademarks of MongoDB, Inc.
  12. 12. Neo4j Doc Manager Mongo Connector • Automatically sync documents from MongoDB to Neo4j • Convert BSON documents into graph model • Alpha version on Github - feedback welcome! https://github.com/neo4j-contrib/neo4j_doc_manager
  13. 13. Neo4j Doc Manager Automatically sync documents from MongoDB to Neo4j MongoDB, Mongo, and the leaf logo are registered trademarks of MongoDB, Inc.
  14. 14. Neo4j Doc Manager Converts BSON documents into property graph model • Documents converted to property graph • Based on structure of the document
  15. 15. Document to property graph talk.json { "session": { "title": "12 Years of Spring: An Open Source Journey", "abstract": "Spring emerged as a core open source project in early 2003 and evolved to a broad portfolio of open source projects up until 2015." }, "topics": [ "keynote", "spring" ], "room": "Auditorium", "timeslot": "Wed 29th, 09:30-10:30", "speaker": { "name": "Juergen Hoeller", "bio": "Juergen Hoeller is co-founder of the Spring Framework open source project.", "twitter": "https://twitter.com/springjuergen", "picture": "http://www.springio.net/wp-content/ uploads/2014/11/juergen_hoeller-220x220.jpeg" } }
  16. 16. Document to property graph talk.json { "session": { "title": "12 Years of Spring: An Open Source Journey", "abstract": "Spring emerged as a core open source project in early 2003 and evolved to a broad portfolio of open source projects up until 2015." }, "topics": [ "keynote", "spring" ], "room": "Auditorium", "timeslot": "Wed 29th, 09:30-10:30", "speaker": { "name": "Juergen Hoeller", "bio": "Juergen Hoeller is co-founder of the Spring Framework open source project.", "twitter": "https://twitter.com/springjuergen", "picture": "http://www.springio.net/wp-content/ uploads/2014/11/juergen_hoeller-220x220.jpeg" } }
  17. 17. DEMO…
  18. 18. DEMO MongoDB, Mongo, and the leaf logo are registered trademarks of MongoDB, Inc.
  19. 19. MongoDB Product Catalog Design Pattern { “courseId”: “a843fc”, “description”: “Neo4j is in use in thousands of deployments around the world.Through this…”, “courseSyllabus”: “<html><body><h1>About the Course</h1><p>Before you get started…”, “icon”: “http://neo4j.com/wp-content/themes/neo4jweb/assets/images/neo4j-logo-2015.png", “name”: “Neo4j in Production”, “instructors”: [ { “name”: “Bob Loblaw”, “bio”: “A master of Neo4j deployments, Bob has overseen hundreds of successful…”, … } ], “categories”: [ { “categoryId”: “c82lid”, “name”: “DevOps”, … } ] } http://docs.mongodb.org/ecosystem/use-cases/product-catalog/
  20. 20. Examine a specific course
  21. 21. All course categories taken by a student
  22. 22. Recommended courses
  23. 23. Appendix / Resources
  24. 24. Neo4j + MongoDB • Routing Use case http://neo4j.com/blog/polyglot-persistence-mongodb-wanderu-case-study/ http://neo4j.com/case-studies/wanderu-across-america/
  25. 25. Neo4j + MongoDB What insights can we draw from connected documents? • Content recommendation http://www.lyonwj.com/2015/05/28/content-recommendation-from-links-shared-on-twitter/ Use case
  26. 26. Neo4j + MongoDB • Healthcare analytics http://neo4j.com/case-studies/zephyr-health/ Use case
  27. 27. Neo4j Doc Manager Docker test environment • Neo4j, MongoDB, neo4j-doc-manager • Docker compose • https://github.com/JoergM/neomongo
  28. 28. Neo4j Doc Manager Feedback welcome! • Alpha version https://github.com/neo4j-contrib/neo4j_doc_manager

×