Likelihood to Recommend 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.
Read full review 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 .
Read full review Pros 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. Read full review Titan is really good for abstraction of underlying infrastructure. You can choose between different storage engine of your choice. Open source, backed by community, and free. Supports tinkerpop stack which is backed by apache. Uses gremlin for query language making the whole query structure standardized and open for extension if another graph database comes along in future. Read full review 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. Read full review 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. Would love an official docker image. Read full review Usability [Based on] Query Language, Performance on small and large data sets, integration and deployment, analysis, API support, Interactive UI.
Read full review Alternatives Considered 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.
Read full review 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.
Read full review Return on Investment Positive: Less complex queries on graph structures, than in relational databases. Negative: maintenance is a huge deal, things doesn't work and break, requiring lengthy restore operations. Read full review Steep learning curve. Your engineers would have to spend lots of time learning different components before they feel comfortable. Have to plan ahead. Maybe this is the nature of graph databases, but I found it difficult to change my schemas after I had data in production. It is free, so time is the only resource you have to put in titan. Read full review ScreenShots