2012-09-15 2 views
2

나는 MongoDB에 대해 친구와 토론을했다 그리고 자성, 그리고 그가 바로 내가 만약 알고 싶습니다 .. 을 내가 MongoDB를한다는 업데이트하는 동안, 않는 두 개의 원자 작업 들었다 :MongoDB를 업데이트 자성

  • 기존 문서를 삭제하고 있습니다 (첫 번째 원자 연산).
  • 그리고 새 것을 삽입하십시오 (두 번째 원자 연산).

즉, 문서가 비어 있음을 의미합니다.

비록 이것이 나에게 그럴듯하게 들리지는 않지만, 이것이 사실인지 그렇지 않은지 확실히 알 수 있습니까?

답장을 보내 주셔서 감사 드리며 누군가 온라인 문서를 통해 해당 내용을 읽을 수 있으면 감사하겠습니다.

편집 : 맞춤법

+0

문서 교환 업데이트는 것 꽤 놀라운 비 원자 수 가졌가. 당신의 친구가이 증거를 지적 할 수 있습니까? – JohnnyHK

답변

1

MongoDB를은 (2.2 전에 서버 당 2.2에서 데이터베이스 당) 글로벌 쓰기 잠금을 사용하는 모든 돌연변이 작업. 이는 업데이트의 구현 세부 사항과 상관없이 클라이언트 관점에서 볼 때 원자 적이라는 것을 의미합니다. 글로 z 쓰기 잠금은 다른 클라이언트가 단일. 서의 부분 갱신을 볼 수 없도록합니다.

여기 MongoDB를 글로벌 쓰기 잠금에 대한 문서가있다 : http://www.mongodb.org/display/DOCS/How+does+concurrency+work