MongoDBのスケーリングのコンテキスト:
-
レプリケーション データの追加コピーを作成し、別のノードへの自動フェイルオーバーを可能にします。最新ではない可能性のあるデータを読み取っても問題がない場合は、レプリケーションが読み取りの水平スケーリングに役立つ場合があります。
-
シャーディング シャードキーを使用して複数のサーバーにデータを分割することにより、データ書き込みの水平スケーリングを可能にします 。適切なシャードキーを選択することが重要です。たとえば、シャードキーの選択が不適切な場合、データの「ホットスポット」が単一のシャードにのみ書き込まれる可能性があります。
シャード環境では、MongoDBがシャード間のデータとリクエストの分散を管理する必要があるため、複雑さが増します。これらの側面を管理するために、追加の構成およびルーティングプロセスが追加されます。
通常、レプリケーションとシャーディングを組み合わせて、シャードクラスターを作成します。 ここで、各シャードはレプリカセットによってサポートされています。
クライアントアプリケーションの観点からは、レプリケーション/シャーディングの相互作用に関連して、特に次のこともある程度制御できます。
- 設定を読む
- 懸念事項を書く