반응형
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
반응형
'programing' 카테고리의 다른 글
벡터화는 무엇을 의미합니까? (0) | 2023.06.24 |
---|---|
xxx 복사본이 모듈 트리에서 제거되었지만 여전히 활성 상태임 (0) | 2023.06.24 |
Oracle SQL Developer에서 테이블을 생성할 때 권한 부족 (0) | 2023.06.24 |
삽입 중 고유 제약 조건 위반: 왜? (Oracle) (0) | 2023.06.19 |
Android TextView 주변에 테두리를 두는 방법은 무엇입니까? (0) | 2023.06.19 |