Thanks for your patience :-)

So, when the client makes a call, it can just be round-robin since all nodes
can gossip? But it should be better to guess where the partition is before
making the call, right? Where can I find the documentation about how the
partition distributions are shared between nodes and how client decides
which node to ask?

Regards,
Daniel

On Fri, Dec 17, 2010 at 12:24 PM, Dan Reverri <d...@basho.com> wrote:

> 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
>>
>
>


-- 
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