3 ms·
Comparison with neo4j?
by Goranek 14y ago
Comparison with neo4j?
- espeed 14y agoTitan is distributed (but can be run in single-server mode). Neo4j is master/slave.
- btown 14y agoAlso note that neo4j requires a license to run in high-availability/multi-server mode.
- rpedigoni 14y agoon Titan you can choose your storage backend (currently, BerkeleyDB, Cassandra and HBase) according to your needs: https://github.com/thinkaurelius/titan/wiki/Storage-Backend-Overview https://github.com/thinkaurelius/titan/wiki/Storage-Backend-...
- mhluongo 14y agoI'd love to see this from someone outside the project- it's pretty clear from blog posts, etc that Titan was made to handle larger graphs, but what are the tradeoffs, and where are the pain points?
- okram 14y agoI am not outside the project, but I use Titan/Faunus with clients and here are the pain points I notice. 1. Difficult to deal with clusters: while you can run Titan single machine (and that is easy to deal with), handling a multi-machine cluster can be frustrating and requires some DevOps skills. Pull in Faunus/Hadoop and you are in a world unto its own. 2. Lots of options: with Titan there are numerous configurations and you get into this "n choose m" scenario. However, I typically just run Titan/CassandraEmbedded + (now) Elastic Search. For instance, I gave up on Titan/BerkeleyDB. Decided that Titan/CassandraEmbedded was sufficient for most needs and thats that. 3. Lots of access points into Titan/TinkerPop: You can run Blueprints Java native, Gremlin, Rexster RexPro, Rexster REST, ... Unfortunately, depending on your situation, one approach is better than another. I typically do Rexster Extensions + Gremlin. In the future though, with RexPro (haven't gotten into it personally), I will probably just use RexPro as I can send Gremlin in and get results out. 4. There are so many bodies of code: Titan is Apache2. This is good. It feeds on alot of excellent open source projects -- HBase, Cassandra, Lucene, ElasticSearch, Gremlin, Blueprints, Rexster, Frames, ... There is no one source of documentation. I'm either reading TinkerPop documentation or Titan documentation. Then when there are issues, Googling the Cassandra mailing list. Luckily, I'm an expert in TinkerPop and since Titan is native TinkerPop my knowledge transfers. However, there are lots of peculiarities (Titan typing, configurations, exceptions, cluster setup etc.) that I have to learn and master. I am fortunate enough to work on projects that use Titan/TinkerPop and thus, as I see these pain points I continually work to solve them. Over time, we will see much of these complexities hidden. Right now, Titan is a young project and some good packaging polish will happen with good time.
- feniv 14y agoI haven't tried Titan, but I've played around with neo4j a little bit in the past and found it a little frustrating to get started with. The good part is the ACID transactions and the (beautiful) browser based interface to it. The bad part is that it was far too easy to get the database in a locked state when you perform a bad query (which you tend to do a lot as you're learning). Graph databases are extremely powerful and will likely change the way you look at structuring a lot of data mining problems. I'd recommend trying one of them out if you ever get the chance!