MapReduceでは、多くの場所で言及されているように、these Standford course notes、this MSc thesis、plagiarized copy of that thesisなどのようにデータをジョインすることが可能です:p。http://ijniet.org:p。CouchDBビューを使用して、多目的結合が可能ですか?
私は3つのエンティティがあります
A
B
C
A
とB
は、カラムab
に参加することができ、かつBC
は、カラムbc
に接合することができます。私はだと思います。私はMapReduceタスクをカスケード接続することでこれを実現できます。しかし、CouchDBでは、Map関数、関数の縮小、MapReduceビューを使うリスト関数、またはこれらの組み合わせを問わず、CouchDBではこれを行うことができません。
CouchDBでは同じ結合キーを持つ異なるエンティティのドキュメントを出力します。しかし、私が知る限り、同じキーまたはキー範囲のいずれかで複数のエンティティをグループ化することが可能なマップ機能はありませんか?
これは、外部キー列が結合ごとに異なるJOINSの場合に特に使用されます。
これは、ドキュメント内でエンティティリレーションシップを作成しているようです。同じキーを使用して異なるエンティティタイプのドキュメントを発行し、次にグループ化されたマップインデックスを取得することによって、結合を近似することもできます。しかし、rereduce = trueを許可する必要があるので、reduce関数で実際の結合を行うことができないことを認識しています –