2012-04-19 7 views
4

申し訳ありませんよりわかりやすいタイトルは考えられませんでした。couchDBビューの更新に関する問題は、デザイン文書の再インデックス時にアクセスできないため問題があります。古いビューを許可する唯一のソリューションですか?更新時couchDBビューにアクセスできない

1つのシナリオでは、お互いに複製するいくつかのcouchDBノードがあります。 1つのビューを更新すると、すべてのcouchDBノードが設計文書を再索引付けします。 1つのノードでビューを更新して結果をレプリケートすることはできませんか?私は、新しい文書が再索引作成中に他のノードに挿入できるという問題があると想定しています。

別のシナリオでは、複数のcouchDBノードが読み書きと複製があります。 Webアプリケーションの場合、読み取り専用のcouchDBノードを持つ別のクラスターがあります。それらは複製されませんが、読み取り/書き込みプールから複製されます。ここでの解決策は、ノードをクラスタから取り出し、ビューを更新し、再インデックスするのを待つことです。ただし、再インデックス時に作成された文書がそのノードにないことはありませんか?再索引作成中に文書の挿入を受け続けることは可能ですか?

他に解決策はありますか?私たちは第2のシナリオに移行しているので、それが私の主な関心事ですが、どちらのケースでも一般的な解決方法があるのだろうかと思います。失効したビューを使用するのは理想的ではありません。なぜなら、再インデックス化には長い時間がかかり、トラフィックが多いサイトだからです。

答えて

4

CouchDBで成功していることは嬉しいことです。

wikiに記載されているstaging-and-upgrade techniqueを使用することをお勧めします。それは働くために少し準備が必要ですが、一度それを働かせれば、人間の努力なしにはうまくいきます。

関連する問題