On Thu, Mar 25, 2010 at 10:56 AM, Jonathan Ellis <jbel...@gmail.com> wrote: > The advantage to doing it the way Cassandra does is that you can keep > keys sorted with OrderPreservingPartitioner for range scans. grabbing > one token of many from each node in the ring would prohibit that. > > So we rely on active load balancing to get to a "good enough" balance, > say within 50%. It doesn't need to be perfect.
Isn't this also only a real resource was with small clusters? As you add nodes, they all get smoothed out (by halving the hottest node), and if you have a 50-node cluster, 1/50 to 1/100 is a relatively small difference. You certainly wouldn't want to shuffle all the data when adding a node for perfect balance...