スケーリング/フェイルオーバーの場合mongodbは、プライマリサーバと1つ以上のセカンダリサーバがある場合は「レプリカセット」を使用します。プライマリは書き込みに使用されます。セカンダリは読み込みに使用されます。これは、SQLプログラミングで使用されるかなり多くのマスタースレーブパターンです。 プライマリがダウンすると、セカンダリのクラスタ内のセカンダリが代わりになります。 したがって、水平方向のスケーリングとフェイルオーバーの問題が解決されます。しかし、これはシャーディングを可能にする解決策ではないようです。真のシャードはデータ全体の一部しか保持していないので、レプリカセット内のセカンダリが断片化している場合、要求を処理するために必要なすべてのデータを持っていない場合、どのようにプライマリとして修飾できますか?MongoDBはシャーディングとレプリケーションの両方をどのように同時に行いますか?
シャードのそれぞれに対してレプリカセットを設定する必要はありませんか?
これは明らかに初心者の質問なので、視覚的に、またはこれがどのように行われているかを示すリンクが役立ちます。
シャードには、送られたリクエストを満たすのに必要なデータがありますが、シャードごとのレプリカを持つことができます。ここにはクッキングブックのチュートリアルがあります:http://cookbook.mongodb.org/operations/convert-replica- set-to-replicated-shard-cluster/ – Sammaye