Mirror, Mirror on the Wall - Which is the best database of them all?
Anonymous | TrustRadius Reviewer
Updated July 27, 2017

Mirror, Mirror on the Wall - Which is the best database of them all?

Score 7 out of 10
Vetted Review
Verified User
Review Source

Overall Satisfaction with DataStax

Datastax Enterprise Edition for Cassandra is currently being used across multiple departments at our organization. It is used for various critical use cases and platform solutions where we are creating highly available, linearly scalable systems and services with good performance. We have used it for services used by tax domain and small businesses. Profile platform, AB testing platform and other services across product groups use Datastax Cassandra with good success.
  • Datastax Cassandra provides high availability and good performance for a database. It is built on top of open source Apache Cassandra so you can always somewhat understand the internal functioning and why.
  • Datastax Cassandra is fairly simple to start using, you can install/setup your cluster and be productive in 1 day.
  • Datastax Cassandra provides a lot of good detailed documentation, and when starting, the detailed free videos on the Datastax site and documentation are very helpful.
  • Datastax Enterprise Edition of Cassandra provides more tools, good support, and quick response SLA for enterprise business support.
  • The move from SQL to NoSQL paradigm is always difficult for people who have been using SQL for most part of their technical lives. Even if NoSQL has better performance and is more scalable, the database interface/functionality needs to be seamless for users. This has always been the top challenge. Now with the advent of ACID and horizontally scaling Google Spanner, the competition is rife for what a database can provide.
  • Though one can be immediately productive, if you get corner cases in your usage with Datastax Cassandra, you have to really know it better. There is a learning curve. Understanding Cassandra server logs, audit logs and sstables helps.
  • Debugging can be longer especially if you hit corner cases, like not using Light Weight transaction correctly, timestamp ties or getting RuntimeException on scrub/repair/compaction (java.lang.RuntimeException: 30623431613136352d656433372d343939322d393066342d366632313961393530353062 is not defined as a collection) and such.
  • Datastax Cassandra has great benefits in product, and features but there are costs on infrastructure maintenance and regular operational tasks. Not that there is any technical component that can self heal :-), but this time investment in Datastax Cassandra is more compared to SQL db, say MySQL.
Datastax can be more proactive in aggressively highlighting corner cases and workarounds themselves. This 180 degrees flip in handling issues can further help increase customer confidence.
  • Highly Scalable Database, Highly Available Services, and Platforms.
  • High Performance, Low Latency and Highest throughput across varying workloads.
  • Configured, Tuned and Monitored correctly works to provide the best user experience!
  • Negative: Maintenance and Debugging Corner Cases
Amazon DynamoDB and Datastax Cassandra are similar on masterless architecture and principles, DynamoDB is managed and needs cost analysis. If you need to have better control, Datastax is better.

I also did a prototype with Google Spanner in one of the recent innovation days, it provides the best of both worlds but being a service on Google Cloud Platform(GCP) works if your services are primarily on GCP. Amazon Aurora is a relational database with higher performance and is a good candidate if search and default relational behavior is preferred.

For now, Datastax worked well for us as it provides best in class performance across different kinds of read/write/mixed workloads. It provides linear scalability which works for the best performance, lowest latency and highest throughput. If configured correctly, there is no downtime and no data loss.
Based on my experience with Datastax Cassandra.
Datastax Cassandra is a Java based linearly scalable NoSQL database, best-in-class tunable performance, fault tolerant, distributed, masterless, time series database and has easy-to-use administration and monitoring functionality with opscenter. Configured correctly there is no downtime and no data loss. The documentation is exhaustive, and the community is agile and supportive, and Datastax provides good support. For all these reasons, Datastax Cassandra has become a NoSQL technology of choice for many platforms.

However it has some time investment on infrastructure and regular operational tasks, and if you do not have bandwidth for it, a managed NoSQL solution like DynamoDB might be more appropriate. Also if you have search needs on Cassandra and do not have corresponding Spark/Solr setup, Datastax Cassandra might not be ideal for you.