Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Docs Menu
Docs Home
/
データベース マニュアル
/ / /

コレクション データの配布

コレクションをシャーディングすると、そのドキュメントがMongoDBクラスター内の複数のシャードに分散されます。MongoDB は指定されたシャードキーを使用して、各ドキュメントが属する場所を正確に決定します。利用可能なすべてのシャード間で均等なデータ分散とワークロードのバランスを確保するために、効果的なシャードキーを選択することが重要です。このアプローチは、コレクションが大きくなりすぎて単一のシャードでは効率的に処理できない場合に重要になります。シャーディングされると、 MongoDB は選択したシャーディング戦略に従って、利用可能なすべてのシャードにコレクションを自動的に分散します。

特定のリソース制限またはパフォーマンスしきい値に達した場合は、コレクションのシャーディングを検討する必要があります。

コレクションの ワーキングセットがRAMに収まる場合、 MongoDB はメモリからクエリを処理するため、クエリの応答時間が最も短くなります。ワーキングセットが使用可能なメモリを超えると、ディスク アクセスが増加するため、クエリのレイテンシが長くなります。コレクションをシャーディングすると、複数のシャードにデータが分散されることでクエリのパフォーマンスが向上します。各シャードは独自のデータインデックスを保持します。

コレクションに 3TB 以上のデータが含まれている場合は、パフォーマンスを最適化するためにコレクションをシャーディングを検討する必要があります。

MongoDBでコレクションをシャーディング場合、次の分散オプションから選択できます。

オプション
説明

範囲シャーディングでは、1 つ以上のドキュメントフィールドを使用してデータの配置を決定します。同様のシャードキー値を持つデータが同じシャードに保存され、範囲ベースのクエリが最適化されます。このアプローチは、アクセス パターンに範囲操作が含まれている場合に最適です。

ハッシュされたシャーディング は、指定されたフィールドからハッシュ値を計算し、シャード全体にデータをランダムに分散します。書込みスケーラビリティには便利ですが、論理的に隣接するデータが異なるシャードに存在する可能性があるため、このアプローチは範囲ベースのクエリのパフォーマンスに影響可能性があります。

ゾーンシャーディングでは 、クラスター全体ではなく、シャードの特定のサブセットにコレクションが分散されます。このアプローチは、コレクションが単一シャードのキャパシティーを超えるが、ユーザーに地理的に近接する場合、専用ハードウェアで個別のアクセス パターンを最適化する、データ ロケーションを制御して規制コンプライアンスを維持するためなど、戦略的な配置が必要な場合に最適です。

コレクションをシャーディングときは、以下の操作を行う必要があります。

戻る

シャーディングされていないコレクションの管理

項目一覧