Wednesday, April 2, 2014

Neo4j: A NoSQL (Graph) Database


A graph database uses a significantly different model from relational databases ("graph", in this context, is NOT synonymous with "chart", it refers to "things that are interconnected"). As a simple example, consider a social networking site where you can record information like:
  • Amar follows Akbar
  • Akbar follows Anthony
  • Anthony follows Akbar
  • Akbar blocks Seeta
  • Amar likes travelling


Using Neo4j (a graph database) traversing such relationships to query things like the following is a snap, both in terms of simplicity of the queries and their performance:
  • Persons that Amar follows
  • Followers of Akbar
  • Followers of followers of Anthony
  • Persons who have blocked Seeta
  • Akbar's followers who like travelling


Use cases of Neo4j include:
  • Social networking sites. For example, think of LinkedIn, and consider results like: "Sam is your third connection", "Ways in which you are connected to Sam".
  • Recommendation engines. For example, "people who bought so-and-so book also bought …", "pages recommended for you…" (based on likes by some of your friends who share common interests with you, or those you have frequent conversations with).
  • Fraud detection systems, based on connected intelligence, going beyond basic statistical analysis and pattern recognition, providing an enhanced degree of insight about sources and perpetrators of frauds.
  • Network and data center management. Techniques for operating and analyzing electronic networks, including network failure and degradation analysis, quality of service mapping, network inventory mapping, network asset management, etc.
  • Many more, such as biometrics, authorization and access control, content management, knowledge management, parcel routing, etc.


Industries using Neo4j include: telecommunications, finance, life sciences, media and publishing, education, gaming, and many more.


Prominent customers of Neo4j include: Adobe, Cisco, Deutsche Telekom, Glassdoor, HP, Huawei, IDMission, India Times, JustDial, Lockheed Martin, Telenor, ThoughtWorks, University of South Australia, and many more.


For more information:


Coming up soon:
An Introduction to Apache Cassandra (coming up soon)
Architecture of Apache Cassandra: How It Delivers Blazing Performance
An Introduction to MongoDB (coming up soon)
An Introduction to Neo4j (more detailed than the one linked above)
An Introduction to Riak


About the Author

portrait2.png

Pradyumn Sharma is the CEO of Pragati Software Pvt Ltd, a leading IT training company based in Mumbai, India. Pradyumn has 30 years of experience in the IT industry. He regularly conducts training programs on NoSQL, Agile Methodologies, Application Architecture, Solution Architecture, Enterprise Architecture.

No comments: