Cassandra: A highly available and scalable database
March 15, 2019
Cassandra: A highly available and scalable database
Score 8 out of 10
Vetted Review
Verified User
Overall Satisfaction with Cassandra
We use Cassandra as the NoSQL database for our use cases. We stream a lot of API data into this database and rely on the availability it gives us. It has proven to be consistent, which we use to our advantage. Cassandra can distribute data across multiple machines in an app-transparent manner, thus helping us to expand it on demand.
- Cassandra is a masterless design, hence massively scalable. It is great for applications and use cases that cannot afford to lose data. There is no single point of failure.
- You can add more nodes to Cassandra to linearly increase your transactions/requests. Also, it has great support across cloud regions and data centers.
- Cassandra provides features like tunable consistency, data compression and CQL(Cassandra Query Language) which we use.
- The underlying medium of Cassandra is a key-value store. So when you model your data, it is based on how you would want to query it and not how the data is structured. This results in a repetition of data when storing. Hence, there is no referential integrity - there is no concept of JOIN connections in Cassandra.
- Data aggregation functions like SUM, MIN, MAX, AVG, and others are very costly even if possible. Hence Ad-hoc query or analysis is difficult.
- Highly available and scalable database. Hence highly reliable in the organization for data.
- Good performance - low latency and great throughput with varying workloads.
- Maintenance and monitoring need investment and do not work great out of the box.
DynamoDB is good and is also a truly global database as a service on AWS. However, if your organization is not using AWS, then Cassandra will provide a highly scalable and tuneable, consistent database.
Cassandra is also fault-tolerant and good for replication across multiple data centers, which you get in DynamoDB as well.
Cassandra is also fault-tolerant and good for replication across multiple data centers, which you get in DynamoDB as well.