2014-09-16 2 views
0

mongoDb의 mapReduce 기능에 대한 질문이 있습니다. 현재 mapReduce를 실행하는 데 시간이 오래 걸릴 것이라고 가정 해보십시오. 사용자가 mapReduce에서 쓰는 동일한 컬렉션에 액세스하려고하면 어떻게됩니까?MongoDb MapReduce

지도가 완료된 후에 모든 데이터가 쓰여지거나 실행 중 쓰여지 는가?

답변

0

mongodb 잠금에 대한 자세한 내용은 concurrency 페이지를 참조하십시오. 귀하의 경우, map-reduce 명령은 관련 콜렉션이 실행 중일 때 읽기 및 쓰기 잠금을 사용합니다. map-reduce 명령의 부분은 동시에 발생할 수 있지만 일반적으로 실행 중에는 잠겨 있습니다.

+0

mapReduce에 10 분이 소요되면 out 함수가 쓰는 콜렉션을 10 분 동안 사용할 수 없습니까? – MilesSmiles

+0

atomic이 아닌 값을 true로 설정하지 않으면 http://docs.mongodb.org/manual/reference/method/db.collection.mapReduce/을 참조하십시오. –

0

많은 조건에서 쿼리, 업데이트 및 삭제와 같은 장기 실행 읽기 및 쓰기 작업이 발생합니다. MongoDB 작업은 multi 매개 변수로 update()와 같은 여러 문서에 영향을주는 쓰기 작업에서 개별 문서 수정간에 잠금을 생성 할 수도 있습니다.

지도에서 축소 이 비 원자 (non-atomic)로 지정되지 않은 경우 mongoDB가 읽기 및 쓰기 잠금을 수행 중입니다. map-reduce 작업의 일부는 을 동시에 실행할 수 있습니다.

관련 문제