新しいアプリケーションを作成するときは、複数のシャードがすぐに必要になるかどうかにかかわらず、単一のシャーディングされたクラスターから開始することをお勧めします。
次のシナリオでは、シャーディングされたクラスターアーキテクチャのメリットが得られます。
ユースケース | 説明 |
|---|---|
コスト最適化 | ハードウェア要件が大きくなるにつれて、垂直スケーリングはますますコストと効果が低下します。水平スケーリング は、リソース需要の増加に応じて、より予測可能でコスト効果の高いスケーリングを提供します。 |
コレクションの同時アクセス数 | リソースの競合がパフォーマンスのボトルネックにつながる複数のアクティブなコレクションを持つアプリケーション。シャーディング はコレクションを専用のハードウェアに分散するため、リソースの競合を防ぎます。 |
高スループット ワークロード | 読み取り/書込み量が多いアプリケーションでは、複数のマシンにトラフィックを分散することでパフォーマンスが向上し、ボトルネックが軽減されます。 |
大規模データセット | データ量が迅速に増加する場合、またはワーキングセットが単一サーバーのメモリキャパシティーを超える場合は、水平スケーリングによってデータが複数のノードに分散されることで持続的なパフォーマンスが確保されます。 |
マルチテナント環境 | 複数のカスタマーを扱うアプリケーションでは、テナントごとに専用のシャードがあることでメリットが得られ、パフォーマンスの分離とカスタマイズされたリソース割り当てが提供されます。MongoDB のシャーディング機能により、効率的なマルチテナント アーキテクチャが可能になります。 |
グローバル配置 | ユーザーが異なるリージョンに分散している場合、地理的に配置されたシャードにデータを分散することでレイテンシが削減され、ユーザー エクスペリエンスが向上します。 |
詳細
シャーディングされたクラスターで を開始することは、次の機能を提供する先を見越したアプローチです。
エフォートレスな水平スケーリング -レプリカセットからの移行の複雑さなしに、アプリケーションの規模が大きくなるにつれてシャードを簡単に追加できます。
コスト効果の高いインフラストラクチャ - MongoDB 8.0 では コンフィギュレーションシャード が導入されており、専用のコンフィギュレーションサーバーなしで単一のレプリカセットストラクチャ上にシャーディングされたクラスターをセットアップできます。MongoDB Atlasでは、バージョン 8.0 に最大 3 シャードを持つシャーディングされたクラスターは、デフォルトで コンフィギュレーションシャード を使用します。
データベースがサイズ変更可能なマシンのリソース使用率(RAM、 vCPU 、またはストレージ)の 60-70% に達した場合は、シャードの追加を検討してください。例、Atlas では、4 TB ディスクを使用する M60 マシンの一貫した 60-70%リソース使用率は、シャードを追加する必要があることを示しています。