Cassendra by DesignGuru
- Cassandra is an open-source Apache project. It was originally developed at Facebook in 2007 for their inbox search feature.
- Cassandra combines the distributed nature of Amazon's Dynamo which is a key-value store and the data model of Google's BigTable which is a column-based data store.
- With Cassandra's decentralized architecture, there is no single point of failure in a cluster, and its performance can scale linearly with the addition of nodes.
- Cassandra is a distributed, decentralized, scalable, and highly available NoSQL database.
- In terms of CAP theorem, Cassandra is typically classified as an AP (i.e., available and partition tolerant) system which means that availability and partition tolerance are generally considered more important than the consistency.
- Cassandra can be tuned with replication-factor and consistency levels to meet strong consistency requirements, but this comes with a performance cost.
- data can be highly available with low consistency guarantees, or it can be highly consistent with lower availability.
- Cassandra uses peer-to-peer architecture, with each node connected to all other nodes. Each Cassandra node performs all database operations and can serve client requests without the need for any leader node.
- Cassandra is optimized for high throughput and faster writes
- By default, Cassandra is not a strongly consistent database (it is eventually consistent), hence, any application where consistency is not a concern can utilize Cassandra. Though Cassandra can support strong consistency, it comes with a performance impact.

Cassandra keys
The Primary key uniquely identifies each row of a table. In Cassandra primary key has two parts:
