Docs Menu
Docs Home
/
MongoDB 매뉴얼
/ /

맵 리듀스 및 샤드 컬렉션을 참조하세요.

이 페이지의 내용

  • 입력으로서의 샤드 collection
  • 출력으로서의 샤드 collection

참고

맵 리듀스의 대안으로서의 집계 파이프라인

MongoDB 5.0 부터 맵 리듀스 는 더 이상 사용되지 않습니다.

맵 리듀스 대안으로서의 집계 파이프라인 예시는 다음을 참조하세요.

맵 리듀스는 샤드 collection에 대한 작업을 입력과 출력 모두에서 지원합니다. 이 섹션에서는 샤드 collection과 관련된 mapReduce 의 동작에 대해 설명합니다.

샤딩된 collection을 맵 리듀스 작업의 입력으로 사용하는 경우 mongos 는 job을 각 샤드에 병렬로 자동으로 디스패치합니다. 특별한 옵션은 필요하지 않습니다. mongos 은(는) 모든 샤드의 작업이 완료될 때까지 대기합니다.

mapReduce 에 대한 out 필드에 sharded 값이 있는 경우, MongoDB는 _id 필드를 샤드 키로 사용하여 출력 collection을 샤딩합니다.

샤드 collection으로 출력하려면 다음을 수행합니다.

  • 출력 컬렉션이 존재하지 않는 경우 먼저 샤드 컬렉션을 생성합니다.

  • 출력 컬렉션 이 이미 존재하지만 샤딩된 되지 않은 경우 맵 리듀스 듀스가 실패합니다.

  • 새 컬렉션이나 빈 샤드 컬렉션의 경우, MongoDB는 맵 리듀스 작업의 첫 번째 단계 결과를 사용하여 샤드 간에 분산된 초기 청크 를 생성합니다.

  • mongos 청크를 소유한 모든 샤드에 맵 리듀스 후처리 작업을 병렬로 발송합니다. 후처리 중에 각 샤드는 다른 샤드에서 자체 청크에 대한 결과를 가져오고, 최종 축소/완료를 실행하고, 출력 collection에 로컬로 씁니다.

참고

  • 이후의 맵 리듀스 작업 중에 MongoDB는 필요에 따라 청크를 분할합니다.

  • 동시성 문제를 방지하기 위해 후처리 중에 output collection에 대한 청크 균형 조정이 자동으로 방지됩니다.

돌아가기

맵 축소