つまり、1,000億レコード(100万レコード* 100,000ユーザー)の領域のどこかを見ていることになります。
大量のデータを処理するための推奨される方法は、mongoクライアントを介して単一の論理ユニットとして提示される複数のサーバーにデータを分割するシャードクラスターを作成することです。
したがって、あなたの質問に対する答えは、すべてのレコードを1つのシャードコレクションに入れることです。
必要なシャードの数とクラスターの構成は、データのサイズと、読み取りと書き込みの量や分布などの他の要因に関連しています。これらの質問に対する答えは、おそらくあなたの独特の状況に非常に固有であるため、私はそれらを推測しようとはしません。
私はおそらく、その数のマシンのクラスター上でシステムをセットアップしてテストするために利用できる時間とマシンの数を決定することから始めます。そのパフォーマンスに基づいて、クラスターに必要なシャードの数を増やすか減らすかを決定できます