Search:

Search all manuals
Search this manual
Manual
Couchbase Server 1.8 マニュアル
Additional Resources
Community Wiki
Community Forums
Couchbase SDKs
Parent Section
11.7 vBuckets
Chapter Sections
Chapters

11.7.1. 図解: CouchbaseドキュメントID - vBucket-サーバーのマッピング

vBucketのメカニズムはハッシュ関数と任意のドキュメントIDを担当するサーバ間の間接的な層となります。この間接層は計画的な移行(例えばクラスタへのサーバの追加)や予期せぬ事態(サーバの故障)で発生するクラスタ設定の変更に対し、秩序ある移行を管理する上で有用です。

下の図は、vBucketを利用した際に、ドキュメントID - サーバのマッピングがどのように動作するかを示します。クラスタ内には3つのサーバがあります。クライアントはドキュメントIDに対応する値を取得(get)しようとしています。クライアントはまずドキュメントIDを所有しているvBucketを特定するためにIDをハッシュ化します。これを Hash(ID) = vB8 と仮定します。次に、クライアントはvBucket - サーバのマッピングテーブルを参照し、vB8をホストするサーバCを特定します。get操作は、サーバCに送信されます

一定期間後に(例えば、成長中のアプリケーションで性能を維持するために)、クラスタにサーバーを追加する必要があるとします。管理者がサーバDをクラスタに追加すると、vBucketマップが次のように更新されます [注: vBucket - サーバ のマッピングはCouchbaseの内部的なアルゴリズムによって更新され、更新されたテーブルは Couchbaseがクラスタに参加している全てのノード(サーバやプロキシ)に送信します]

サーバを追加した後、クライアントはもう一度ドキュメントIDに対応する値を取得します。この場合、ハッシュアルゴリズムは以前から変わっていないので、前回と同様に、Hash(ID) = vB8 となります。クライアントは、vBucket - サーバのマッピングテーブルを調べて、今はサーバDがvB8を所有していると特定します。get操作は、サーバDに送信されます。