집계 파이프라인 은 샤딩된 컬렉션에 대한 작업을 지원합니다. 이 섹션에서는 집계 파이프라인 및 샤딩된 컬렉션과 관련된 동작에 대해 설명합니다.
행동
파이프라인이 정확히 $match에서 시작하는 경우 샤드 키로 시작하고 파이프라인에 $out 또는 $lookup 단계가 포함되지 않은 경우 전체 파이프라인은 일치하는 샤드에서만 실행됩니다.
여러 샤드에서 집계 작업이 실행되는 경우, 다음과 같은 경우를 제외하고는 결과가 병합할 mongos로 라우팅됩니다.
파이프라인에 정렬 또는 그룹화 단계가 포함되어 있고 AllowDiskUse 설정이 활성화된 경우 병합은 무작위로 선택된 샤드에서 실행됩니다.
최적화
집계 파이프라인을 두 부분으로 분할할 때는 최적화를 고려하여 샤드가 최대한 많은 단계를 수행하도록 파이프라인이 분할됩니다.
파이프라인이 어떻게 분할되었는지 확인하려면 메서드에 explain 옵션을 db.collection.aggregate() 포함하세요.
최적화는 릴리스 간에 변경될 수 있습니다.