몽고DB CAP 이론 관련
2
작성한 질문수 25
선생님께서 몽고DB는 AP라고 주장하셨는데...
페일오버시에 대장(프리머리)가 죽으면 부하(세컨더리)들이 대장의 직전 Oplog를 주어서 처리하고,
애초에 리드 프리퍼런스가 Primary가 기본이라고 하셨으니 쓰기 가용성을 포기하고 일관성을 찾는 모델 아닌가요?
또 검색하니까 몽고DB는 CP라고 하던데요...
또 이게 사람 생각마다 다를수 있는건가요?
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. 0S님.
MongoDB의 CAP 분류는 읽기/쓰기 설정, 복제 구성, 네트워크 분할 상황에서의 동작 기준에 따라 다르게 설명될 수 있어 혼동이 생길 수 있습니다. 다만 기본적인 레플리카 셋 환경에서 네트워크 분할이 발생하면 과반수 투표를 통해 Primary를 선출하고, 과반수 합의가 되지 않은 노드는 쓰기를 처리하지 않으므로 가용성보다 일관성을 우선하는 CP 성향으로 해석할 수 있습니다.
특히 Primary가 장애로 내려간 경우에는 Secondary 중 하나가 새로운 Primary로 선출되어야 하며, 그 과정에서 일시적으로 쓰기 가용성이 중단될 수 있습니다. 또한 읽기 설정에 따라 Secondary에서 최신이 아닐 수 있는 데이터를 읽을 가능성도 있으므로, MongoDB를 무조건 AP 또는 CP라고 단정하기보다는 해당 설정과 상황을 함께 확인해야 합니다.
관련하여 MongoDB의 CAP 이론과 네트워크 분할 시 Primary 선출 및 쓰기 제한에 대해 설명한 기존 답변을 참고해 주세요.
위 답변에서는 MongoDB가 레플리카 셋에서 과반수 정책으로 Primary를 정하고, 일관성을 유지하기 위해 일부 가용성을 희생하는 구조이므로 CP 성향을 가진다고 설명하고 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
선생님 샤딩에 대한 강의도 좀 해주세요
0
1
0
아니 이거 갑자기 데이터베이스가 사라졌어요
0
10
0
모의고사 파일과 이론파일 업데이트
0
19
2
이론 pdf 다운은 어디서 하나요?
0
19
2
RunIdIncrementer batch 5랑 6랑
1
23
2
기타 영역 중 언두로그
0
16
0
질문있습니다.
0
18
1
15분 35초즈음 나오는 500개 단위로 쪼개는 경우 스레드 질문
0
20
1
강의 자료를 받아볼 순 없겠나
1
35
2
수업이 안보여요
0
34
1
코테의 바이블 수강생 코테올인원 JAVA 쿠폰
0
27
1
버전 관련하여 문의드립니다
0
29
1
기출문제 재탕
0
51
1
뻬먹은 코드
0
37
1
기출문제 재탕
0
29
0
모의고사1회 2번문제 뭔지 모르겠네요 강의올려주시면안될까요?
0
38
1
코드 깃허브는 없을까요?
1
40
2
핵사고날 아키텍처 기반으로 멀티 모듈 설계 시 질문드립니다..
0
42
2
최종 과제 제출합니다.
0
44
1
자료 다운로드 문제
0
44
2
실전튜닝 4 질문 - group by 순서와 index 순서
0
43
1
DataSourceUtils.releaseConnection 할때요 SQLException e 사용하는 이유등
0
57
2
섹션8. CAP 퀴즈 질문
0
97
1
BSON(Binary JSON)은 효율적이고 더 많은 데이터 타입을 지원한다는 말이 잘 와닿지 않습니다
0
177
2





