MongoDB 인터널
MongoDB와 WiredTiger가 내부에서 어떻게 동작하는지, 스토리지 엔진부터 샤딩과 일관성 보장까지 살펴봅니다.
스토리지 엔진에서 시작해 복제, 샤딩, 일관성 보장 순서로 올라갑니다. 앞 글에서 다룬 WiredTiger의 동작이 뒤 글의 전제가 됩니다.
- 1 WiredTiger 스토리지 엔진 구조와 캐시준비 중WiredTiger의 파일 구조, B-tree, 캐시와 eviction
- 2 체크포인트와 저널준비 중체크포인트 주기, 저널 기록과 장애 복구
- 3 WiredTiger의 MVCC와 스냅샷준비 중update chain, 타임스탬프, 스냅샷 격리
- 4 인덱스 구조와 쿼리 플래너의 계획 선택 방식준비 중인덱스 구조, 후보 계획 경쟁, plan cache
- 5 oplog와 레플리카셋 복제준비 중oplog 구조, secondary 복제 흐름, 복제 지연
- 6 Primary 선출 과정준비 중Raft 기반 선출, 투표 조건, priority와 failover
- 7 샤딩 구조준비 중mongos, config server, chunk와 balancer
- 8 Read/Write Concern이 실제로 보장하는 것준비 중write concern, read concern, 읽기 일관성의 범위