Cassandra cluster overview
As mentioned earlier, Cassandra is a peer to peer cluster—no node is master or slave. Data is distributed among all nodes of the cluster using partitioners. This enables Cassandra to shard data transparently, and allows it to scale linearly. This means that Cassandra server performs the data sharding, and the application layer need not implement any additional logic for sharding. As the load grows, new nodes can be added to share the load as Cassandra will distribute the load among them automatically.
For example, let's imagine that we initially have three node cluster, which are capable of handling 3x transactions. Now, suppose that the load is increased to 4x, then we can add one additional node to the cluster without doing any change in our application layer. The following image shows the example where initially we have a three-node cluster with nodes A, B, and C capable of handling load 1x each; hence, the capacity of handling load of 1x + 1x + 1x = 3x. However...