Database / Apache Cassandra Intermediate and Advanced interview questions
What is a partitioner in Cassandra?
The partitioner is the component that converts a partition key into a numeric token, which is what actually determines where data sits on the ring.
- Murmur3Partitioner is the default and recommended partitioner in modern Cassandra. It hashes the partition key using the fast, non-cryptographic MurmurHash3 algorithm and produces an even spread of tokens.
- RandomPartitioner used MD5 hashing and was the historical default, but it is slower and has been superseded by Murmur3Partitioner.
- ByteOrderedPartitioner ordered rows lexically by key bytes, which sounds convenient for range scans but is now discouraged because it causes severe hot spots — sequential keys (like timestamps or auto-increment IDs) all land on the same narrow token range.
The partitioner is set once, cluster-wide, in cassandra.yaml and cannot be changed after the cluster has data, because doing so would invalidate every existing token assignment. This is why almost every production cluster today simply keeps the Murmur3Partitioner default rather than experimenting with alternatives.
More Related questions...