複数のマシンの助けを借りて、CouchDB のビュー グループのインデックス作成を本当に並列化できるのでしょうか?
さまざまなインデクサーがさまざまなビューを更新できる可能性があると思いますが、多くのマシンが単一のインデックスで動作する可能性はありますか?
どうすればそれを行うことができますか?レプリケーション ガイドやマニュアルに記載がありませんでした。
複数のマシンの助けを借りて、CouchDB のビュー グループのインデックス作成を本当に並列化できるのでしょうか?
さまざまなインデクサーがさまざまなビューを更新できる可能性があると思いますが、多くのマシンが単一のインデックスで動作する可能性はありますか?
どうすればそれを行うことができますか?レプリケーション ガイドやマニュアルに記載がありませんでした。
これは、CloudantのBigCouchのタスクのように聞こえます。
BigCouchの説明から引用。
エンドユーザーには1つのApacheCouchDBインスタンスとして表示されますが、実際には、エラスティッククラスター内の1つ以上のBigCouchノードであり、ドキュメントの保存と取得、ビューのインデックス作成と提供、CouchAppsの提供を協調して実行します。
これは過去に調査済みです。問題は、最終的には、インデックス付きビュー全体の範囲クエリが効率的になるような方法で B~tree を構築するために何かが連続して動作しなければならないということです。これは大量の追加ディスク アクティビティであり、最終的には、大きなファイルを単一の B~tree にコピーしてマージするよりも、(単一のノードで) ドキュメントを順番に処理することが最も効果的な方法です。
高度に並列化可能な map-reduce アルゴリズムがシーケンシャルに実行されていることに初めて気付いたときは、まったくおかしなことのように思えます。
Octavian が指摘したように、BigCouch はノード間のシャーディングによってこれを行うため、このコードは今年 CouchDB にマージされるため、両方の長所を活かすことができます。