|
From: Yonik S. <yo...@ap...> - 2008-02-27 22:03:33
|
On Wed, Feb 27, 2008 at 3:58 PM, Ning Li <nin...@gm...> wrote: > On Tue, Feb 26, 2008 at 1:21 PM, Yonik Seeley <yo...@ap...> wrote: > > I think one problem we are running into is due to using the same hash > > ring for both partitioning the key space and selecting placement of > > those keys. Putting many virtual nodes on the hash ring to make the > > hash function fair, in conjunction with using that hash ring to do > > replication, causes all the indicies to be mixed together. > > What we have discussed addressed partitioning and replication: > 1 We used consistent hashing to partition keys into ranges. > We may call a range "shard". The important thing is, it is > a one-to-one mapping between ranges and virtual nodes. > 2 We described one replication scheme on how a virtual node > replicates its range/shard on N-1 virtual nodes with replication > level set to N. As I read the previous messages, it seems like both #1 and #2 are using the same hash circle. It seems like using virtual nodes (as opposed to real nodes) to determine replication means that you can't query every N real nodes and cover the entire index, right? It seems like the replica for real node A is distributed over all other nodes, regardless of what N is. -Yonik |