Partitioners
You might 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: This produces an even distribution of data across the cluster using the MurmurHash algorithm. This is the default as of version 1.2, and should not be changed as it is measurably faster than the RandomPartitioner.
- RandomPartitioner: This is similar to the Murmur3Partitioner, except that it computes an MD5 hash. This was the default prior to version 1.2.
- ByteOrderedPartitioner: This places keys in byte order (lexically) around the ring. This partitioner should generally be avoided for reasons explained in this section.
The only reason to switch from the default Murmur3Partitioner to ByteOrderedPartitioner would be to enable...