分かりやすくするために、このセクションではCouchbase Serverのマルチテナント性(または過去にcouchbaseクラスタ内の"仮想couchbaseインスタンス"を表していた"バケット")を完全に無視します。 バケットとvBucketの概念を混同しないようにしてください - これらは無関係です。 このセクションではバケットを"1つのcouchbaseクラスタ"と同義みなすことができます。
vBucketはCouchbase Serverクラスタのキー空間の部分集合の"所有者"として定義されています。
すべてのドキュメントIDはvBucketに"所属"しています。マッピング関数は、指定されたドキュメントIDが属するvBucketを計算するために使用されます。couchbaseでは、そのマッピング機能は、ドキュメントIDを入力として、vBucket識別子を出力するハッシュ関数です。vBucket識別子を計算し、そのvBucketを"ホスト"するサーバを探すためにテーブルを参照します。そのテーブルはvBucketごとに1行ずつ、vBucketとそれをホストするサーバのペア情報が含まれています。このテーブルに存在するサーバは複数のvBucketを担当することができます(通常そうなります)。
couchbaseが利用するドキュメントIDとvBucketをマッピングするためのハッシュ関数はハッシュアルゴリズムや出力空間のいずれも設定可能です(すなわち、この関数が出力するvBucketの総数 )。ハッシュ関数の出力空間におけるvBucketsの数が変更された場合、当然サーバーにvBucketsをマップするテーブルのサイズも変更する必要があります。