NoSQL Benchmarks NoSQL use cases NoSQL Videos NoSQL Hybrid Solutions NoSQL Presentations Big Data Hadoop MapReduce Pig Hive Flume Oozie Sqoop HDFS ZooKeeper Cascading Cascalog BigTable Cassandra HBase Hypertable Couchbase CouchDB MongoDB OrientDB RavenDB Jackrabbit Terrastore Amazon DynamoDB Redis Riak Project Voldemort Tokyo Cabinet Kyoto Cabinet memcached Amazon SimpleDB Datomic MemcacheDB M/DB GT.M Amazon Dynamo Dynomite Mnesia Yahoo! PNUTS/Sherpa Neo4j InfoGrid Sones GraphDB InfiniteGraph AllegroGraph MarkLogic Clustrix CouchDB Case Studies MongoDB Case Studies NoSQL at Adobe NoSQL at Facebook NoSQL at Twitter



What Are Virtual Buckets?

A fantastic article explaining the rationale behind and usage of virtual buckets for scaling memcached:

  1. Never service a request on the wrong server.
  2. Allow scaling up and down at will.
  3. Servers refuse commands that they should not service, but
  4. Servers still do not know about each other.
  5. We can hand data sets from one server another atomically, but
  6. There are no temporal constraints.
  7. Consistency is guaranteed.
  8. Absolutely no network overhead is introduced in the normal case.

As described in what is membase, virtual buckets/vbuckets is exactly the approach used by membase, Riak, and probably every solution involving consistent hashing.