Are you ready for the best Graph Database in town? :)
Overall Satisfaction with Neo4j
Neo4j was an experiment for us. We needed to model people and relationships for which graph databases were most suited. Google search resulted "Neo4j" on top, so we tried it, and it is awesome! The project, unfortunately, has been shut down, but at the time, we used it as the primary database for the application. The database model was designed such that every piece of information could be mapped to either a node or an edge, so we didn't need to use any sort of relational or other no-SQL database.
Pros
- Neo4j is extremely fast.
- Neo4j has its own query language CYPHER which is very intuitive and easy to use.
- Neo4j supports API in almost every language like Java, Python, PHP, NodeJS, etc.
Cons
- One of the hardest challenges that Neo4j had to solve was the horizontal scaling problem. I am not updated on recent developments, but at the time of my use, I couldn't find a viable solution.
- Neo4j does not play with other open source APIs like Blueprint. You have to use the native Neo4j API.
- There wasn't a visual tool to see your data. Of course, third party tools are always available, but I would have loved something which came with the Neo4j bundle. I love that Docker comes bundled with Kitematic, so it's not wrong to hope that Neo4j could also ship with some default visualization software.
- For experimentation purposes, it had a positive impact on my company. It was very natural to work with Neo4j and so intuitive to visualize the data.
- Neo4j community edition is free, which is what we experimented on. So there was no investment up front apart from employee's time. But this quickly gave results and it was time well spent.
- Neo4j is a cool but very new technology. It was hard to have people onboard, especially some of the leadership and relational folks.
- Titan-Distributed Graph Database
Neo4j is ahead of any of the leading competitors I know. The only one which comes close, in my opinion, is the "Titan-Distributed Graph Database" which is completely open source and free to use. Titan works on top of Apache Cassandra so it has some huge learning curves to do, whereas Neo4j is just downloaded and used. Because of this reason, I can easily see why someone would prefer Neo4j over Titan or any other graph database.
Comments
Please log in to join the conversation