最初のコレクションで DBRef を別のコレクションに使用する場合があります。最初のコレクションは本、2 番目のコレクションはユーザー (それらの本を読んだ人) です。ユーザーは、アバターやその他のさまざまな情報を持つことができます。これは、別のコレクションに保持するのが合理的です。しかし今、私は本のコレクションを分割する必要があります。2 つのノード間で分割すると、Users コレクションはどのように分割されますか? 特定の書籍に関連するユーザーを同じノードに保持したいと考えています。それは可能ですか?ありがとう!
1 に答える
1
現時点では、これはタグ対応シャーディング ( http://docs.mongodb.org/manual/core/tag-aware-sharding/ ) 以外では不可能です。Kristina (彼女がまだ 10gen を使用していたとき) は、複数のコレクションを簡単にグループ化するために使用できる、データを配布する方法に関する優れた記事を書きました: http://www.kchodorow.com/blog/2012/07/25/controlling-collection -分布/
ただし、これを維持するのは非常に難しいと感じるかもしれません。DBA だけである場合を除き、このような拡大し続けるネットワークと一緒に維持することに文字通りほとんどの時間を費やすことになるため、お勧めしません。
私が代わりに行うことは、書籍をuser_id
シャードしてから、ハッシュされたユーザーコレクションをシャードする_id
ことです
于 2014-03-08T15:41:30.240 に答える