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