Yes.

Daniel Reverri
Developer Advocate
Basho Technologies, Inc.
d...@basho.com


On Thu, Dec 16, 2010 at 7:56 PM, Daniel Woo <daniel.y....@gmail.com> wrote:

> Hi Daniel,
>
> So, the hashing algorithm is still consistent, but partitions (vnodes) are
> re-distributed to nodes when new nodes are added, and the nodes gossip and
> share the knowledge of the partition distribution, right? So the client can
> query any of the nodes, if the node doesn't know where the partition located
> it will query or gossip with adjacent nodes, right?
>
> Thanks,
> Daniel
>
>
>
> On Fri, Dec 17, 2010 at 10:42 AM, Dan Reverri <d...@basho.com> wrote:
>
>> Hi Daniel,
>>
>> Clients do not specify the partition when making a request. A client can
>> request any key from any node in the cluster and Riak will return the
>> associated value.
>>
>> Thanks,
>> Dan
>>
>> Daniel Reverri
>> Developer Advocate
>> Basho Technologies, Inc.
>> d...@basho.com
>>
>>
>> On Thu, Dec 16, 2010 at 6:01 PM, Daniel Woo <daniel.y....@gmail.com>wrote:
>>
>>> Hi Mark,
>>>
>>> Thanks for your explanation, so in this case the partitions would be
>>> re-distributed
>>>
>>> *from*
>>>
>>> Node1: p1 ~ p16
>>> Node2: p17 ~ p32
>>> Node3: p33 ~ p48
>>> Node4: p49 ~ p64
>>>
>>> *to *
>>> Node1: p1 ~ p13 (remove 3 partitions)
>>> Node2: p17 ~ p29 (remove 3 partitions)
>>> Node3: p33 ~ p45 (remove 3 partitions)
>>> Node4: p49 ~ p61 (remove 3 partitions)
>>> Node5: p14, 15, 16, 30, 31, 32, 46, 47, 48, 62, 63, 64 (aprox 1/5
>>> partitions will be transferred to this new node)
>>>
>>> Since there is no centralized node in Riak, how do we know the partition
>>> 32 is moved to node 5 from the client caller? Cassandra seems break half of
>>> the adjacent node's data into the new node, that will be easy for the client
>>> to search for the datum just around the node-circle clockwise, although it
>>> causes unbalanced data distribution and you have to move them by command
>>> lines. Riak seems to have this solved by moving partitions into new nodes
>>> equally, that's very interesting, how do you guys make it? If the client
>>> caller queries for partition 32 which was originally on node 2, how do the
>>> client know it's on a new node now?
>>>
>>> Thanks,
>>> Daniel
>>>
>>>
>>> On Fri, Dec 17, 2010 at 6:56 AM, Mark Phillips <m...@basho.com> wrote:
>>>
>>>> Hey Daniel,
>>>>
>>>> [snip]
>>>>
>>>> > So, I guess Riak would have to re-hash the whole partitions into all
>>>> the 5
>>>> > nodes, right? Is this done lazily when the node finds the requested
>>>> data is
>>>> > missing?
>>>> > Or is there a way to handle this with consistent re-hashing so we can
>>>> avoid
>>>> > moving data around when new nodes added?
>>>> >
>>>>
>>>> Riak won't rehash all the partitions in the ring when new nodes are
>>>> added. When you go from 4 -> 5 nodes, for example, approx. 1/5 of the
>>>> existing partitions are transferred to the new node. The other 4/5s of
>>>> the partitions will remain unchanged. As far as moving data around
>>>> when new nodes are added, this is impossible to avoid. Data needs to
>>>> be handed off to be spread around the ring.
>>>>
>>>> Hope that helps.
>>>>
>>>> Mark
>>>>
>>>
>>>
>>>
>>> --
>>> Thanks & Regards,
>>> Daniel
>>>
>>> _______________________________________________
>>> riak-users mailing list
>>> riak-users@lists.basho.com
>>> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
>>>
>>>
>>
>
>
> --
> Thanks & Regards,
> Daniel
>
_______________________________________________
riak-users mailing list
riak-users@lists.basho.com
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to