Neo4j on AWS For our new product, we need to build a social graph. I started looking for appropriate data structure, databases to do that and came across the graph database, something that is being used by Facebook’s new graph search and Google’s KnowledgeBase. The most exciting part was there are open source graph database available, i.e. you can build something like graph search or KnowledgeBase for your own app on top of those graph databases. Here is one example of using graph database for product recommendation system, and here is another recommendation engine. The first challenge is to pick the graph database to use. After doing some research, I decided on Neo4j: https://neo4j.com/developer/graph-database/. The reasons being:
- very popular and many support, e.g. instructions on integrating on AWS (details below), python wrapper (https://neo4j.com/developer/python/ – I am usingpy2neo), etc.
- very good documentation and tutorials. https://neo4j.com/graphacademy/training-intro-40/enrollment/
- very intuitive, which probably is also true for other graph database.