Cassandra

Back to Production-Engineering/Data-Stores

Distributed row store database, which replicates data across homogeneous nodes using a gossip protocol.

Architecture

No master, all nodes are homogeneous

Data Modelling

Modelling is different for Cassandra compared to a traditional RDBMS. Since there are no joins, the complexity trade of in Cassandra is knowing about access and query patterns ahead of time. The primary key is a tuple. The first element is the partition key. It should be unique, but also is used to determine data locality. The hash of the partition key determines which node and replica the data belongs to. All following elements are clustering columns which specify ordering in the partition.

Cassandra and CAP Theorem

theoretically, Cassandra is classified as available and partition tolerant