2016-06-15 4 views
0

私たちはValue Eviction Bucketsで大量のデータを持つプロダクションサーバを持っています。私たちは記憶を使い果たしているので、追放モードを完全退去に変更することに決めました。これを行う場合Couchbase - 完全なEvictionchangeへの値の逸脱巨大なデータベース

  1. ライブ操作に影響はありますか?
  2. 実行中のプロセスはありますか? (例:再調整のように)
  3. 賛否両論は何ですか?
+0

Couchbase Server 3.xまたは4.xを実行していますか?これら2つのアーキテクチャの違いには、ValueとFull evictionの有効性と信頼性に影響します。 – Chippiewill

+0

私はCouchbase Server 3.xを使用しています。 – Daz

答えて

0
  1. はいあります。多くはありませんが、その操作では、memcachedプロセスをすべてのノードで同時に再起動し、キャッシュをウォームアップする必要があります。したがって、もちろんダウンタイムが発生します。どれくらいの要因がいくつかの要因に左右されます。
  2. 私は考えることができません。プロセスを再起動するだけです。
  3. 長所:メタデータが値に加えて排出されるため、RAMに余裕ができます。短所:オブジェクトの存在を最初にチェックする操作をコード内に持っていれば、はるかに遅くなります。私はあなたに例を挙げます。 upsertを行う場合、DBはそのオブジェクトがプロセスの一部として最初に存在するかどうかをチェックする必要があります。値の追い出しを実行している場合、RAM内の超高速のメタデータオブジェクトがチェックされます。そのオブジェクトIDはそこにあるかどうかです。フルエビクションで実行している場合、Couchbaseはメタデータを調べるためにディスクに移動する必要があります。あなたが想像しているように、いくつかの要因によって大きくなる可能性のあるペナルティがあります。

IMOは、メモリが不足しているため、完全消去に移行する十分な理由ではありません。あなたは機能上の理由が必要です。より多くの情報(常駐比率、RAMサイズ、キャッシュサイズなど)を知らなくても、あなたはおそらくより多くのサーバーまたはより大きなものを追加する方が良いでしょう。ほとんどのデータベース、特にCouchbaseのように、Couchbaseのサイズを適切に保つことは、正常に機能するシステムにとって重要です。 Couchbaseとエンタープライズ契約を結んでいる場合、サポートチームがこれを手伝ってくれるでしょう。そうでない場合は、この機能を有効にする前に、このドキュメントをよくお読みください。私が言ったように、あなたはDBの仕組みを変えている理由として、「私はRAMが不足しています」以上のものを持っていなければなりません。