2013-03-13 3 views
0

mongodb의 동일한 데이터베이스에서 특정 컬렉션의 데이터를 다른 컬렉션으로 마이그레이션하려고합니다. 나는 약 50K 개의 레코드를 가지고있다. mongodb를 삽입하는 동안 잠겨있어 응용 프로그램에 영향을줍니다. mongodb에서 잠금 시스템을 처리 할 수있는 방법이 있습니까?mongodb에서 잠금을 피할 수있는 방법이 있습니까

덕분에, 프라 츠이 문서 당으로

+0

사용중인 mongoDB의 버전을 추가하십시오! – ppeterka

+1

글자 그대로 잠금 장치가 아니라 IO 한계 또는 이와 유사한 형태의 컴퓨터 병목 현상이 90 %의 가능성이 있습니다. 잠긴 경우 mongodb 버전과 iostat-x를 제공 할 수 있습니까? 컴퓨터를 조금 설명하고 데이터 세트 크기를 설명 할 수 있습니까? – Sammaye

+0

MongoDB 쉘 버전 : 2.2.0 – Prats

답변

0

: 버전> = 2.2을 사용하는 경우 Goodbye global lock – MongoDB 2.0 vs 2.2 글로벌 잠금 that was known to affect MongoDB를 가정으로 사라졌다.

이전 인스턴스가 있고 업그레이드가 범위를 벗어난 경우, 작은 배치 (최대 크기 인 경우 한 번에 최대 100 개의 문서)로 마이그레이션을 시도하고 짧은 시간 기다리겠습니다. (50ms 정도)는 각 배치 사이에서 실행됩니다. 이 못생긴 느린 해결 방법이지만, 시간에 onnline하면서

편집 ... 계속 허용 할 수 있습니다 음, 이상한, 버전이 글로벌 쓰기 잠금 상황에서이 없어야합니다. 아마 ...

EDIT2 을 작은 배치 접근 방식을 시도 할 것 그리고 Sammaye은 맞다 :이 너무 좋은 오래된 IO 병목 문제가 될 수 있습니다 ... 당신의 디스크는이 측면에서 운임 얼마나 잘 보려고 확실히하다.

관련 문제