Titan is in right track
Use Cases and Deployment Scope
Graph databases are still new in the market with very little exposure as compared to other NoSQL databases. In my previous project I required a database which can make querying graphs easier, which is when I found the whole concept of graph databases. Titan API (Java) was the wrapper around underlying low level infrastructure which really helped me code with interfaces while still able to change underlying infrastructure.
Pros
- 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.
Cons
- 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.
Likelihood to Recommend
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.