Docs Menu
Docs Home
/
MongoDBマニュアル
/ /

集計パイプラインとシャーディングされたコレクション

項目一覧

  • 動作
  • 最適化

集計パイプラインは、 のシャーディングされたコレクションに対する操作をサポートしています。 このセクションでは、集計パイプラインとシャーディングされたコレクションに固有の動作について説明します。

パイプラインが$match シャードキー の正確な で開始され、かつパイプラインに }$out $lookupステージまたは ステージが含まれていない場合、パイプライン全体は一致するシャードでのみ実行されます。

集計操作が複数のシャードで実行される場合、次の場合を除き、結果はマージされるmongosにルーティングされます。

  • パイプラインに$outステージが含まれている場合、マージは出力コレクションが存在するシャードで実行されます。

  • パイプラインにシャーディングされていないコレクションを参照する$lookupステージがパイプラインに含まれている場合、マージはシャーディングされていないコレクションが存在するシャードで実行されます。

  • パイプラインにソートまたはグループ化のステージが含まれており、 allowDiskUse設定が有効になっている場合、マージはランダムに選択されたシャードで実行されます。

集計パイプラインを 2 つの部分に分割する場合、パイプラインは分割され、最適化を考慮して可能な限り多くのステージがシャードで実行されるようになります。

パイプラインがどのように分割されたかを確認するには、 メソッドにexplain db.collection.aggregate()オプションを含めます。

最適化はリリースに応じて変更される場合があります。

戻る

制限

項目一覧