Neo4j is an open source embeddable graph database developed by Neo Technologies based in San Mateo, California with an office in Sweden.
$65
per month
Percona Server for MongoDB
Score 8.4 out of 10
N/A
Percona Server for MongoDB is a free and open-source drop-in replacement for MongoDB Community Edition. It combines all the features and benefits of MongoDB Community Edition with enterprise-class features from Percona. Built on the MongoDB Community Edition, Percona Server for MongoDB provides flexible data structure, native high availability, easy scalability, and developer-friendly syntax. It also includes an in-memory engine, hot backups, LDAP authentication, database auditing, and log…
N/A
Titan
Score 8.0 out of 10
N/A
Titan is an open-source distributed graph database developed by Aurelius. Aurelius is now part of Datastax (since February 2015).
We've done some BOE comparisons between Neo4j, Titan, and OrientDB. The general consensus was that Titan is too unweildy and that Neo4j beat out OrientDB by being more active and having a large community.
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, …
To be honest, titan is not as popular as Neo4j, though they do the same thing. In my personal opinion, titan has lot of potential, but Neo4j is easier to use. If the organization is big enough, it might choose titan because of its open source nature, and high scalability, but Ne…
Neo4J is great for creating network graphs or illustrating how things are related. It is also good for finding individuals or things that have greater influence than others in a system. It is not appropriate if you have standard data sets that can be analyzed using conventional methods or visualized using Tableau, for example.
It offers good support for the implementation of solutions in the public and on-premises cloud and integration with other services such as Hashicorp Vault for data encryption. One of the main advantages is the ease of configuration, in addition to offering transaction support for the different operations and scalability of the servers.
Titan is definitely a good choice, but it has its learning curve. The documentation may lack in places, and you might have to muster answers from different sources and technologies. But at its core, it does the job of storing and querying graph databases really well. Remember that titan itself is not the whole component, but utilizes other technologies like cassandra, gremlin, tinkerpop, etc to do many other things, and each of them has a learning curve. I would recommend titan for a team, but not for a single person. For single developer, go with Neo4j.
Mature Query language, I found Cypher QL to be mature in handling all sorts of problems we throw at it. Its expressive enough to be intuitive while providing rich features for various scenarios.
Native support for REST API, that makes interacting with Neo4J intuitive and easy.
Support for Procedures in Java, procedures are custom code that could be added to the Neo4J to write custom querying of data. The best part about the procedures is it could be invoked using the REST API. This allows us to overcome any shortcomings from their Cypher query language.
Nice UI and interface for executing the Query and visualizing the response.
UI access controlled by User credentials allows for neat access controls.
Awesome free community edition for small-scale projects.
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.
The community is lacking deep documentation. I had to spend many nights trying to figure many things on my own. As graph databases will grow popular, I am sure this will be improved.
Not enough community support. Even in SO you might not find many questions. Though there are some users in SO who quickly answer graph database questions. Need more support.
Learning cypher was super easy coming from a SQL background. Furthermore, the docs Neo4j provides on their website make it really easy to pull up a reference, guide or a quick example. The mac app they provide is also really well designed with good visualisation tools, with the ability to easily use colour, line thickness etc to help navigate your data.
One aspect to improve is the user experience since sometimes the steps to take are not clear and the user may need to review some of the actions before continuing with the next ones. Another aspect to improve is the documentation and support for developers who want to know the tool.
It offers good support for the implementation of solutions in the public and on-premises cloud and integration with other services such as Hashicorp Vault for data encryption. Also, it offers support for different compatible programming languages such as C, C ++, Java, as well as offering good support for the persistence of schema-free data and the possibility of saving data in memory.
Neo4j is a graph store and has different use cases compared to another NoSQL Document store like MongoDB. MongoDB is a bad choice when joins are common as existing operators for joining two documents (similar to tables in a relational store) as Mongo 3.5 use SQL like join algorithms which are expensive. MongoDB is a great choice when distributed schemaless rich document structures are important requirements. Cross document transaction support is not native to MongoDB yet, whereas Neo4J is ACID complaint with all its operations.
At the performance level, it is similar to other solutions such as MongoDB and Percona Server for MySQL. and at the customization level, it offers better support for the development of specific solutions that seek good performance in transactions.
To be honest, titan is not as popular as Neo4j, though they do the same thing. In my personal opinion, titan has lot of potential, but Neo4j is easier to use. If the organization is big enough, it might choose titan because of its open source nature, and high scalability, but Neo4j comes with a lot of enterprise and community support, better query, better documentation, better instructions, and is also backed by leading tech companies. But titan is very strong when you consider standards. Titan follows gremlin and tinkerpop, both of which will be huge in future as more graph database vendors join the market. If things go really well, maybe Neo4j might have to support gremlin as well.