Cassandra has a masterless 「ring」 architecture that is elegant, easy to set up, and easy to maintain.
The node chosen by the client to receive a particular read or write request to its cluster
The coordinator also applies the Consistency Level (CL)
Consistency level (CL) – how many nodes must acknowledge a read or write request
A system on each node which hashes tokens from designated values in rows being added
A node's partitioner hashes a token from the partition key value of a write request
Cassandra offers three partitioners
There's one token per node, and thusly a node owns exactly one contiguous range in the ringspace.Vnodes change this paradigm from one token or range per node, to many per node. Within a cluster these can be randomly selected and be non-contiguous, giving us many smaller ranges that belong to each node.
Having many smaller token ranges (nodes) on each physical node allows for a more even distribution of data. This becomes evident when you add a physical node to the cluster, in that rebalancing (manually reassigning token ranges) is no longer necessary.