Buckets and rebalancing
Thu, 09/16/2010 - 00:34
Hello,
Having read the membase documentation I still have some doubts about the concepts of buckets, vbuckets and rebalancing.
1) Is a bucket the same thing as a vbucket, or does the bucket stand for an entire key space, subdivided into vbuckets?
2) Assuming the latter, how exactly does cloning and rebalancing reduce the load on a particular node? Is the cloned node made the master for a subset of vbuckets?
3) If so, does a mechanism exist to identify the most accessed vbuckets and divide them evenly between the original and the cloned node during rebalance?
Thanks in advance.
Hi there, thanks for your inquiry!
1 - Your latter assumption is correct. A bucket stands for the entire key space and that is subdivided into a number of vbuckets. It's currently hardcoded at 1024 and will likely increase in the future.
2 - During rebalancing, all the vbuckets and their replicas are spread out across all available nodes in the cluster. This allows each node to handle a subset of the keyspace and therefore distributes the load and data across the whole cluster.
3 - At the moment there is no such tool however we do have the infrastructure to support moving individual vbuckets to different nodes of the cluster. It's not exposed to the user right now, but could certainly be made so if need be. In general, we've found that the vbucket mapping combined with a good hashing algorithm leads to very even distribution of load throughout the cluster.
Hope that answers your questions, let me know if there's anything I can do to help further.
Perry
Forum support is great for free but sometimes you need a guaranteed response time and dedicated resources for your questions or issues.
Consider purchasing enterprise-level support from Membase: http://www.membase.com/products-and-services/overview
Call or email "sales -at- membase -dot- com" today!