Likelihood to Recommend Apache Cassandra is a NoSQL database and well suited where you need highly available, linearly scalable, tunable consistency and high performance across varying workloads. It has worked well for our use cases, and I shared my experiences to use it effectively at the last Cassandra summit!
http://bit.ly/1Ok56TK It is a NoSQL database, finally you can tune it to be strongly consistent and successfully use it as such. However those are not usual patterns, as you negotiate on latency. It works well if you require that. If your use case needs strongly consistent environments with semantics of a relational database or if the use case needs a data warehouse, or if you need NoSQL with ACID transactions, Apache Cassandra may not be the optimum choice.
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 Continuous availability: as a fully distributed database (no master nodes), we can update nodes with rolling restarts and accommodate minor outages without impacting our customer services. Linear scalability: for every unit of compute that you add, you get an equivalent unit of capacity. The same application can scale from a single developer's laptop to a web-scale service with billions of rows in a table. Amazing performance: if you design your data model correctly, bearing in mind the queries you need to answer, you can get answers in milliseconds. Time-series data: Cassandra excels at recording, processing, and retrieving time-series data. It's a simple matter to version everything and simply record what happens, rather than going back and editing things. Then, you can compute things from the recorded history. 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 Cassandra runs on the JVM and therefor may require a lot of GC tuning for read/write intensive applications. Requires manual periodic maintenance - for example it is recommended to run a cleanup on a regular basis. There are a lot of knobs and buttons to configure the system. For many cases the default configuration will be sufficient, but if its not - you will need significant ramp up on the inner workings of Cassandra in order to effectively tune it. 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 Likelihood to Renew I would recommend Cassandra DB to those who know their use case very well, as well as know how they are going to store and retrieve data. If you need a guarantee in data storage and retrieval, and a DB that can be linearly grown by adding nodes across availability zones and regions, then this is the database you should choose.
Read full review Usability Itās great tool but it can be complicated when it comes administration and maintenance.
Read full review Support Rating Sometimes instead giving straight answer, we āre getting transfered to talk professional service.
Read full review Alternatives Considered We evaluated
MongoDB also, but don't like the single point failure possibility. The
HBase coupled us too tightly to the Hadoop world while we prefer more technical flexibility. Also
HBase is designed for "cold"/old historical data lake use cases and is not typically used for web and mobile applications due to its performance concern. Cassandra, by contrast, offers the availability and performance necessary for developing highly available applications. Furthermore, the Hadoop technology stack is typically deployed in a single location, while in the big international enterprise context, we demand the feasibility for deployment across countries and continents, hence finally we are favor of Cassandra
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 I have no experience with this but from the blogs and news what I believe is that in businesses where there is high demand for scalability, Cassandra is a good choice to go for. Since it works on CQL, it is quite familiar with SQL in understanding therefore it does not prevent a new employee to start in learning and having the Cassandra experience at an industrial level. 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