0

MongoDB は、非シャード レプリカ セットまたはシャードとしてセットアップできることを理解しています。Sharded は、非常に大きなデータセットのスケーラビリティによって使用されます。

質問は、Sharded と 3 つの mongodb ノードの基本的なレプリカ セットを使用する必要があることをどの時点で知っていますか?

4

3 に答える 3

1

いつものように、それは依存します。データベースが大きすぎて 1 台のマシンの RAM に完全に保持できない場合は、シャーディングを検討してください。いつものように、確実に知る最善の方法は、特定の状況/アーキテクチャ/使用パターンでテストし、自分で確認することです。

于 2012-09-13T15:43:14.667 に答える
0

データセットのサイズに加えて、考慮に入れることができるいくつかのパラメータがあります。

  1. 書き込み負荷。レプリカセットでは読み取りスケーリング(1マスター-多数のスレーブ)が可能ですが、アプリの書き込みが重い場合は、シャーディングが書き込み負荷を分散する1つの方法です。ただし、これを効果的にするには、データがクラスター全体に分散される方法が同時書き込みパターンと一致する必要があります。
  2. マルチデータセンターの導入。アプリを地理的に分散させる必要がある場合は、タグ対応のシャーディング(2.2で導入)を使用すると、
于 2012-09-14T15:48:37.667 に答える
0

@gkamal が述べたように、データ ストアが 1 つのボックス サイズの 60 ~ 70% に達し始め、負荷が主に書き込み量が多い場合は、シャーディングを検討する必要があります。

シェーディングされていない 3 つのレプリカ セットとシャードされたインスタンスの主な違いは、レプリカ セットが書き込み負荷をスケーリングしないことです。プライマリ サーバーは、ロック オーバーヘッドのため、プライマリ書き込みのボトルネックになります。一方、シャーディングが正しく行われた場合、各シャードが複数の分離されたインスタンスに分割されるため、書き込み/読み取りの負荷が軽減されます。

于 2013-11-01T01:51:06.010 に答える