inflearn logo
강의

講義

知識共有

最も簡単で深く教えるMongoDB完璧ガイド [ By. 非専攻者 & Kakao 開発者 ]

分散システムアーキテクチャのCAP定理

몽고DB CAP 이론 관련

解決済みの質問

57

0S

投稿した質問数 26

0

선생님께서 몽고DB는 AP라고 주장하셨는데...

페일오버시에 대장(프리머리)가 죽으면 부하(세컨더리)들이 대장의 직전 Oplog를 주어서 처리하고,
애초에 리드 프리퍼런스가 Primary가 기본이라고 하셨으니 쓰기 가용성을 포기하고 일관성을 찾는 모델 아닌가요?
또 검색하니까 몽고DB는 CP라고 하던데요...

또 이게 사람 생각마다 다를수 있는건가요?

java sql mysql mongodb database

回答 2

1

Hong

안녕하세요 사실 이 CAP이라는 기준은 누가 어떤 부분에 중점을 두냐에 따라서 다릅니다.. 그래서 정답이 막 있다고 가정하고 그걸 믿지는 않으셨으면 좋겠어요.


예를들어서 OS님은 가용성 측면을 우선시한다면 다른 관점일꺼고, 제가 일관성을 우선한다면 다른 방향으로 해석이 가능할겁니다.


CAP이론 자체를 하나의 서비스는 무조건 이런거다 라는 관점보다는 결국 CAP 세가지는 공존이 불가능하구나 라는 관점을 보시면 좋을꺼같습니다.


감사합니다!!

1

0S

코에 걸면 코걸이고 귀에 걸면 귀걸이라는 의미군요.
감사합니다!

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. 0S님.

MongoDB의 CAP 분류는 읽기/쓰기 설정, 복제 구성, 네트워크 분할 상황에서의 동작 기준에 따라 다르게 설명될 수 있어 혼동이 생길 수 있습니다. 다만 기본적인 레플리카 셋 환경에서 네트워크 분할이 발생하면 과반수 투표를 통해 Primary를 선출하고, 과반수 합의가 되지 않은 노드는 쓰기를 처리하지 않으므로 가용성보다 일관성을 우선하는 CP 성향으로 해석할 수 있습니다.

특히 Primary가 장애로 내려간 경우에는 Secondary 중 하나가 새로운 Primary로 선출되어야 하며, 그 과정에서 일시적으로 쓰기 가용성이 중단될 수 있습니다. 또한 읽기 설정에 따라 Secondary에서 최신이 아닐 수 있는 데이터를 읽을 가능성도 있으므로, MongoDB를 무조건 AP 또는 CP라고 단정하기보다는 해당 설정과 상황을 함께 확인해야 합니다.

관련하여 MongoDB의 CAP 이론과 네트워크 분할 시 Primary 선출 및 쓰기 제한에 대해 설명한 기존 답변을 참고해 주세요.

위 답변에서는 MongoDB가 레플리카 셋에서 과반수 정책으로 Primary를 정하고, 일관성을 유지하기 위해 일부 가용성을 희생하는 구조이므로 CP 성향을 가진다고 설명하고 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

파이썬 추가 코드

0

10

1

경쟁상태

0

13

1

stmt

0

15

1

실행 통계2 explain analyze 조인 쿼리

0

16

0

3강 인덱스 구조 강의 자료 문의

1

21

1

배열 포인터 출력 표시

0

32

1

포인터 증감 또는 값 증감

0

31

1

배열 포인터 함수 관련

0

32

1

EmailSender 관련 문의

0

34

1

실기 이론 통합 요약본 버전

0

40

1

업캐스팅 3번 문제 예시

0

45

2

[해결됨]마지막 강의 내용 수정 화면이 기능을 못하네요.

0

33

1

[해결됨]부분적으로 화면 이동이 안되는 부분이 있습니다.

0

65

6

구글드라이브 접속 불가

0

44

2

2024년2회15~20

0

39

1

68강 문제 풀이

0

36

1

현대 쿼리 복잡성에 관한 질문

0

59

3

key_length 가 사용되는곳

0

39

1

[과제]1-9 피벗 테이블 만들어보기

0

58

2

cnt수를 구할 때 왜 user_pseudo_id 를 사용하나요?

0

57

2

낙관적락 질문있습니다.

0

43

1

선생님 샤딩에 대한 강의도 좀 해주세요

0

50

1

섹션8. CAP 퀴즈 질문

0

121

1

BSON(Binary JSON)은 효율적이고 더 많은 데이터 타입을 지원한다는 말이 잘 와닿지 않습니다

0

199

2