You may recall from the earlier discussion of distributed hash tables that keys are mapped to nodes via an implementation-specific hash function. In Cassandra's architecture, this function is determined by the partitioner you choose. This is a cluster-wide setting specified in
cassandra.yaml. As of version 1.2, there are three options:
- Murmur3Partitioner (
org.apache.cassandra.dht.Murmur3Partitioner): Produces an even distribution of data across the cluster using the Murmur3 hash algorithm. This is the default as of version 1.2, and should not be changed as it is measurably faster than the RandomPartitioner.
- RandomPartitioner (
org.apache.cassandra.dht.RandomPartitioner): Similar to the Murmur3Partitioner, except that it computes an MD5 ...