Range rebalance splits the busiest range and recomputes moved keys.

highlighted = computed this step

Range rebalance splits a range

Range rebalance chooses a split point inside the busiest range. The new scheme is recomputed, then every key is routed before and after. Note: moved keys are old-vs-new route comparisons, not authored labels.

range rebalance\text{range rebalance}

Moved keys after split

The old scheme has 3 partitions and the new scheme has 4. The compiled moved-key count is 1.

old partitions=3,new partitions=4,moved=1\text{old partitions}=3,\quad \text{new partitions}=4,\quad \text{moved}=1

Range and hash sharding are exact routing functions on tiny pinned key sets; real sharding adds consistent hashing, skew, hot partitions, and rebalancing cost, which are empirical and operational concerns beyond this model - no product claims.

Range rebalance - moved: 28; stayed: 2,12,24,26keyfromtostatus2P0P0stayed12P1P1stayed24P2P2stayed26P2P2stayed28P2P3moved

Summary

Range rebalance is exact because every key is re-routed under both schemes. Note: the model does not price moving data.

moved equals route changed\text{moved equals route changed}