Thank you. Let me get it straight. I have a 4 node cluster (4 physical
machines). If I have not made any changes to the ring size then I have 16
(64/4) vnodes. Each physical node stores the actual data (the value) of
about ¼ of the data size. So when querying the data with a key given the
number of vnodes it can be determined which physical machine the data is on.
There must be enough redundancy built in so that if one or more of the
physical machines go down the remaining physical machines can reconstruct
the values lost by the lost vnodes. Correct so far? Now where does
replication some in? The documentation indicates that there are 3 copies of
the data (default) made. How is this changed and how can this replication of
the data be taken advantage of?

 

From: Alexander Sicular [mailto:[email protected]] 
Sent: Thursday, March 14, 2013 3:28 PM
To: Kevin Burton
Cc: [email protected]
Subject: Re: Bigger data than disk space?

 

Hi Kevin,

 

The Riak distribution model is not based on "buckets" but rather the hash of
the bucket/key combination. That hash (and associated data) is then
allocated against a "vnode". A vnode, in turn, is one of n where n is the
ring_creation_size (default is 64, modify in etc/app.config). Each physical
machine in a Riak cluster claims an equal share of the ring. For example, a
cluster with five machines (the recommended minimum for a production
cluster) and the default ring_creation_size will have 64/5 vnodes per
physical machine (not sure if they round down or up but all machines will
have about the same number of vnodes). What you would do to make more data
available is either add a machine to the cluster whose available disk space
is equal or greater than the cluster member with the least amount of total
space or increase the space on all machines already in the cluster.

 

tl;dr add a machine to your cluster.

 


-Alexander Sicular

 

@siculars

 

On Mar 14, 2013, at 3:41 PM, Kevin Burton <[email protected]> wrote:





I am relatively new to Riak so forgive me if this has been asked before. I
have a very thin understanding of a Riak cluster and understand somewhat
about replication. In planning I foresee a time when the amount of data
exceeds the disk space that is available to a single node. What facilities
are there to essentially “split” a bucket across several servers? How is
this handled?

_______________________________________________
riak-users mailing list
 <mailto:[email protected]> [email protected]
 <http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com>
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

 

_______________________________________________
riak-users mailing list
[email protected]
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to