2011-02-18 9 views
1

私は64ビットLinuxマシンの64ビットmongodbでユニットテストを受けています。私は2つのシャードを持っています。テスト目的のためにローカルマシンに両方のシャードが設定されています。シャーディングプロセスが1つのシャードから最初のシャードのサイズを制限しなければならないので、サイズが最初のシャードで超えたら、次のシャードに行きますか?解決策を教えてください。64ビットMongoDBでシャーディングプロセスがシャードから別のシャードに移行すると、

アドバンスのおかげで、指定されたコレクションで

答えて

2

データはサイズがデフォルトの200メガバイトで、連続する/順序維持方法でデータの「チャンク」に格納されます。チャンクがこのサイズに達すると、それは2に分割されます。そして、シャードにデータの不均衡があると、mongoはチャンク間をチャンクを動かすことでデータのバランスをとることになります。移動している。

デフォルトでは、妥当な量のデータをコレクションに埋め込んで、複数のチャンクが200MBになるようにしてから、シャード間を移動します。テストの目的で、mongosプロセスで--chunkSize引数を設定することで、このチャンクサイズを変更することができます(例えば、最初に遊んだり、1MBに設定しました)。これは、あなたがシャーディングキックを見始める前に、あなただけのコレクション内のデータを数MBを必要とする意味

はここチャンクを説明するシャーディングをテストするための偉大な設定例です:。ここで http://www.mongodb.org/display/DOCS/A+Sample+Configuration+Session


はシャーディングを紹介します:
http://www.mongodb.org/display/DOCS/Sharding+Introduction#ShardingIntroduction-Chunks

+0

おかげさしで... – sampathkumar

関連する問題