RAMは、サーバのクォータとバケットのクォータという2種類の設定値で割り当てられます
サーバのクォータ
サーバーのクォータは、Couchbase Serverを最初にインストールされたときにサーバーに割り当てられるRAMです。 これらサーバーのRAMの上限は、すべてのバケットのキャッシュデータのために割り当てられ、すべてのノードで確保されます。サーバーのクォータは、クラスタ内の最初のサーバーで構成され、すべてのノードで同一の値となります。例えば、16GBのサーバークォータを10ノードのクラスタで設定した場合、クラスタ全体では160GBのRAMが使用可能となります。クラスタに2つのノードを追加した場合、新しいノードは16GBのRAMを必要とし、クラスタ全体では192GBのRAMを利用することができるようになります。
バケットのクォータ
バケットのクォータは、データをキャッシュするために個々のバケットに割り当てられたRAMの量です。バケットのクォータは、各ノードごとに確保され、サーバのクォータで定義されているRAMから割り当てられます。例えば、1GBのバケットクォータを持つ新しいバケットを作成した場合、10ノードのクラスタでは、クラスタ全体で10GBのバケットクォータが確保されます。クラスタに2つのノードを追加すると、12GBに拡張されます。
この説明と図にある通り、クラスタに新しいノードを追加すると、全般的なRAMのクォータ、バケットのクォータが拡張され、RAMに保持することができる情報量を増やすことができます。
バケットのクォータは、いつデータをメモリから消去すべきかを決定するために使用されます。バケットのクォータは、動的に(サーバーのクォータの制限内で)設定し、バケット単位でメモリ内の情報のキャッシュを制御できるようにしています。したがって、必要なキャッシングRAM割り当ての要件に対処するために異なるバケットを設定することができます。
サーバのクォータも、動的に設定できますが、クラスタ内の全ノードが、設定したRAMのクォータをサポートするために使用可能なRAMを持っていなければなりません。
Couchbaseのクォータを変更する方法の詳細については、「Couchbaseのクォータの変更」を参照してください。