Upload
william-lyon
View
370
Download
1
Embed Size (px)
Citation preview
Agenda
• Super brief overview of MongoDB• Why MongoDB + Neo4j?• Neo4j Doc Manager • New community project
• Demo!
MongoDB
Document Database
• Document datamodel• JSON-like documents (BSON)• Ad hoc queries• Replication / sharding• Load balancing• Capped collections• Help with job queue
implementation
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• Pattern matching queries
• Document datamodel• Performant document reads / writes• Aggregation (MapReduce)
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
Neo4j + MongoDB = Connected Documents
What insights can we draw from connected documents?• Recommendations
http://www.lyonwj.com/2015/05/28/content-recommendation-from-links-shared-on-twitter/
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
Neo4j Doc ManagerConverts BSON documents into property graph model
• Documents converted to property graph model
• Based on structure of the document
Neo4j Doc Manager
Feedback welcome!• Alpha version
https://github.com/neo4j-contrib/neo4j_doc_manager
Neo4j Doc Manager
Docker test environment• Neo4j, MongoDB, neo4j-doc-manager• Docker compose• https://github.com/JoergM/neomongo