I am trying to segment data over a set of JBoss caches having approximately even data distribution. Is anyone aware of a good dynamic hashing function that would provide good data affinity.
For example, let's say I segment data over N nodes. When node N+1 joins, I would like a portion of data now redirected to that node. I don't care about the actual data movement (it can be achieved with data gravitation), but I would like to achieve the effect of every Node (1 to N) contributing some data to the new node.
So, given an Object key, what would be a best algorithm to determine on which node that key should be stored?
Thanks in advance.