programing

MongoDB는 동시 업데이트를 어떻게 처리합니까?

javamemo 2023. 6. 24. 08:42
반응형

MongoDB는 동시 업데이트를 어떻게 처리합니까?

저는 지금까지 직장에서 MongoDB를 잘 사용하기 시작했습니다.MongoDB가 동시 업데이트를 어떻게 처리하는지 궁금합니다.MongoDB에 잠금 기능이 없다고 읽어서 일반적인 방법이 무엇인지 궁금합니다.

감사해요.

MongoDB는 프로세스 전체 쓰기 잠금을 사용하여 한 번에 하나의 쓰기 작업(업데이트/삽입/제거)만 수행할 수 있도록 보장했습니다.따라서 쓰기 동시성이 허용되지 않기 때문에 동시성 문제가 자동으로 해결됩니다.

4개 스레드가 업데이트 작업을 시도하면 그 중 하나가 쓰기 잠금을 가져가고 업데이트를 수행한 후 잠금을 해제합니다.그 후 나머지 3개 중 하나가 잠금 장치를 잡고 업데이트를 수행합니다.

동시성은 작업을 단일 쓰기 작업으로 감쌀 수 없는 경우에만 작동합니다.가장 일반적인 사용 사례(문서를 찾아서 업데이트하고 새 버전을 원자적으로 가져옵니다)의 경우 MongoDB는 다음과 같은 "findAndModify" 명령을 제공합니다. http://www.mongodb.org/display/DOCS/findAndModify+Command

업데이트: 요즘은 잠금이 더 세분화되었습니다.

한정자 작업 사용:

$inc $set $unset $push $pushAll $addToSet $pop $pull $pullAll $rename $bit

그들 모두는 원자입니다.

언급URL : https://stackoverflow.com/questions/6997835/how-does-mongodb-deal-with-concurrent-updates

반응형