4

申し訳ありませんが、よりわかりやすいタイトルを思いつきませんでした: デザイン ドキュメントの再インデックス中にアクセスできないため、couchDB ビューの更新に問題があります。古いビューを許可する唯一の解決策はありますか?

あるシナリオでは、互いにレプリケートする複数のcouchDBノードがあります。1 つのビューを更新すると、すべての cupDB ノードが設計ドキュメントを再インデックス化します。1 つのノードでビューを更新してから結果を複製することはできませんか? 問題は、ノードの再インデックス中に新しいドキュメントが他のノードに挿入される可能性があることだと思います。

別のシナリオでは、読み取り/書き込みが可能で、相互にレプリケートする複数のcouchDBノードがあります。ウェブアプリの場合、読み取り専用のcouchDBノードを持つ別のクラスターがあります...それらはレプリケートされませんが、読み取り/書き込みプールからレプリケートされます. ここでの解決策は、クラスターからノードを取り出し、ビューを更新して、インデックスが再作成されるのを待つことです。ただし、そのノードでは、再インデックス中に作成されたドキュメントが失われることはありませんか? インデックスの再作成中にドキュメントの挿入を受信し続けることは可能ですか?

他に考えられる解決策はありますか?私たちは 2 番目のシナリオに移行しているので、それが主な関心事ですが、どちらの場合にも一般的な解決策があるかどうか疑問に思っています。古いビューを使用することは理想的なシナリオではありません。これは、インデックスの再作成に時間がかかる可能性があり、トラフィックの多いサイトであるためです。

4

1 に答える 1

4

CouchDBで成功していると聞いてうれしいです。

wikiで説明されているステージングとアップグレードの手法を使用することをお勧めします。動作させるには少し準備が必要ですが、動作させると、人間の努力なしで非常にうまく機能します。

于 2012-04-20T14:05:51.020 に答える