[MongoDB] Read-Write Concern

기훈·2024년 3월 23일

MongoDB

목록 보기
22/28

Write Concern
Replica Set의 동기화 정도를 제어한다. (몇개 까지 복제를 완료하고 멤버에게 데이터를 반환할 것인가)

(위 사진은 majority 옵션으로 과반수 이상만 데이터를 적용하고 반환한다 w값이 클 수록 write에 대한 성능이 저하된다)

일반적으로 MongoDB는 Client가 보낸 데이터를 P에 저장 후 S에 동기화를 진행한다. P와 S 사이에는 시간차가 발생하는데, 만약 P가 본인의 클러스터에 데이터 입력을 처리한 후 Client에 반환을 진행 그 이후 S 클러스터와 동기화를 진행 한다면 Client에가 반환받은 데이터와 S가 동기화 중인 데이터는 서로 다르게 된다.
먄약 동기화 중 P가 죽어버려서 동기화를 완료하지 못한 채 S가 P로 승격된다면?
Client에게 반환한 데이터와 승격된 클러스터의 데이터가 맞지 않는 상황이 되어버리게 된다. 이러한 문제를 해결하기 위해 Write Concern 옵션을 지원한다.

Read Concern
특정 개수 이상의 Replication에서 요청하는 데이터를 가지고 있어야 해당 데이터에 대한 읽기 기능을 제공함


참고사항

MongoDB 5.0

  • Write Concern 옵션을 기본 Majority로 제공함 (이전은 1)
    따라서 쓰기가 중요한 비지니스일 경우, 옵션을 재설정하거나 이전버전을 고려할 수 있음

  • Read Concern에 대한 기본 옵션이 local로 변경됨 (P,S 둘다 적용)

0개의 댓글