Where

 

meets 

Hi! I'm Hanneli 

(@hannelita)

"We need to restructure our data"

"Relational databases are not enough"

Store data as Documents!

Imagine that we have talks of a conference

Our Documents

Sometimes we need to get some extra information

Possible questions

  • Which talks have a specific topic (ex: 'Databases')
  • Which speakers will also talk about this topic?
  • What are the sessions that will be hold into Auditorium and are about this topic?

These are common questions

More questions

  • Assuming that I do not want to change rooms, what is the best room to stay to get a higher number of sessions of a specific topic?

Further work

  • Recommendation system for the talks
  • Recommendation system for speakers
  • Build a tool to automatically build the sessions timetable based on topic distribution

Looks like we need some graphs!

Graphs are everywhere

TEAM, Neo4j

We can build graphs with information from Mongo

From Documents to Graphs

Mongo Connetor

https://github.com/10gen-labs/mongo-connector

Mongo Connector

You

MC

Mongo Connector

Mongo Connector

You

Call Mongo Connector

MC

Mongo Connector

You

Call Mongo Connector

MC

Hi!

Mongo Connector

You

Points where's your Mongo

MC

Mongo Connector

You

Points where's your Mongo

Points where is the other database

MC

DM

Elasticsearch

Solr

(Doc Manager)

Mongo Connector

MC

DM

Elasticsearch

Solr

(Doc Manager)

Creates a thread to watch Mongo Actions

Mongo Connector

MC

DM

Elasticsearch

Solr

(Doc Manager)

Creates a thread to watch Mongo Actions

Call actions on a Doc Manager

We can translate these actions

into a Graph Structure

Neo4j Doc Manager

Sync Mongo with Neo4j

Demo

Still WIP (Work in Progress)

Projects

mongo-conenctor: 

https://github.com/10gen-labs/mongo-connector

neo4j-doc-manager: 

https://github.com/neo4j-contrib/neo4j_doc_manager

 

Thanks!

Questions?