2011-12-28 9 views
1

私は3台のマシン(vbucketsのみ)のmembase 1.7.1サーバクラスタを使用しています。おそらく、クラスタ全体がダウンした場合membase dbの内容をダンプして別のクラスタをシードする方法

私は定期的にプロバイダから新しいデータを取得します。古いデータを多かれ少なかれ無期限に保ち、新しいデータを追加したい。ワイン評価アプリケーションを想像してみてください。新しいヴィンテージはいつも入っていますが、古いものは周りに残しておく必要があります。

現在、私は次のことを行い、プロセスがあります。

  • 私vbucketにサードパーティのプロバイダからいくつかのデータ
  • プッシュデータをダウンロードします。いくつかの古いデータは上書きされますが、一部のデータは新しいものになります
  • 次のデータ更新までハングアウトします。他のプロセスは、私が何をしたいのですがどのよう

データを読み込むことになる次のとおりです。

  1. れていない場合は、私のバケットは、オフラインストレージからの荷重をそれ
  2. 内の任意のデータを持っている場合を参照してください。 (ステップ#5参照)
  3. サードパーティプロバイダからデータをダウンロード
  4. 私のvbucketにデータをプッシュします。一部の古いデータは上書きされることがあり、一部のデータは新しいものとなります。
  5. オフラインストレージにすべてのデータをダンプします。
  6. 次のデータ更新までハングアウトします。他のプロセスはデータを読み取ることになります。

ステップ1,2,5は新しいものです。

したがって、問題はステップ5についてです。 TAPプロトコルは、私のmembaseバケットの内容を破棄するのに適していますか?それは読者に干渉するでしょうか?

答えて

0

membaseのマニュアルでは、mbbackupツールのバックアップを推奨しています。このツールは、アプリケーションの外部のコマンドラインから手動で呼び出されます。ダンプされたデータは、mbrestoreを使用して復元できます。 mbrestoreのターゲットは、mbbackupを実行した元のクラスタとは異なるクラスタにすることができます。

参考:あなたがAWSにしている場合はhttp://www.couchbase.org/wiki/display/membase/Membase+Server+version+1.7.1+and+up

、あなたはEBSでMemBase値と定期的にアマゾンS3にオーバーEBSボリュームをスナップショットのオプションを持ってして実行することができます。

参考:http://couchbase.org/forums/thread/correct-way-back-aws-membase-ebs

関連する問題