Simplifying the Complex with a Graph Database


To start any project, you always need to make sure you have the right tools for the job. Other developers are increasingly finding that Neo4j, the graph database utilized by FlockData, is one of those tools. Among those developers is Nick Manning, co-founder of the Shindig social mobile application.

On his blog, Manning tells the story of Shindig’s migration from MongoDB to Neo4j. A frequent developers’ problem is an overreliance on denormalization and caching techniques that leave the back-end code messy. In particular, working with MongoDB and Redis added a lot of complexity to their code, which, per Manning, wasn’t exactly fun to deal with.

Neo4j simplifies the complex. For us, that means being able to ask seemingly complex queries. For Manning’s app, Neo4j was used to reduce code clutter on the back-end.

Further, as Manning iterated, “For Neo4j, relationships are first class citizens.”

That means that connections among data points are paid as much attention as the data points themselves. With the ease that a traditional database would tell you how much a product sells, a graph database links together all the people who buy the product and produces a likely customer profile.

The ability to ask complex queries of relationships is at the heart of what Neo4j accomplishes for FlockData. Additionally, it works in tandem with other indexes to provide a dynamic search mechanism.