Enterprise Infrastructure Intelligence ● Certified engineers online · Fast response guaranteed
웹서버/DB

WiredTiger Engine: 멀티버전 동시성 제어와 B-Tree 기반 고성능 스토리지 아키텍처

WiredTiger는 MongoDB의 기본 스토리지 엔진으로, 멀티버전 동시성 제어(MVCC)와 B-Tree 기반 구조를 결합하여 문서 수준의 동시성 제어와 쓰기 성능을 동시에 달성합니다. 캐시 중심의 아키텍처와 Hazard Pointer 기반의 lock-free 데이터 구조로 멀티코어 시스템에서 탁월한 동시성을 제공합니다.

2026.09.14  ·  28회  · 

아키텍처 기초: B-Tree와 MVCC의 결합

WiredTiger는 B-Tree 기반 저장소와 Log Structured Merge Tree(LSM) 개념을 결합한 멀티버전 동시성 제어(MVCC) 스토리지 엔진입니다. 각 작업 시작 시 데이터의 시점 스냅샷을 제공하여 읽기 연산이 쓰기 연산을 차단하지 않도록 설계되었습니다. 이는 분기된 버전 체인을 통해 여러 트랜잭션이 동일 데이터의 서로 다른 버전에 동시에 접근할 수 있음을 의미합니다.

동시성 제어 메커니즘

문서 수준 동시성 제어로, 서로 다른 문서를 수정하는 여러 클라이언트가 동시에 작업할 수 있습니다. 낙관적 잠금 방식을 사용하여 충돌이 감지되면 한 연산을 투명하게 재시도합니다. 글로벌, 데이터베이스, 컬렉션 수준에서는 의도 잠금(intent lock)만 사용하여 잠금 오버헤드를 최소화합니다.

캐시 구조와 메모리 관리

WiredTiger 캐시는 온디스크 B-Tree 구조를 반영하는 인메모리 표현입니다. 페이지 로드 시 이진 검색을 위한 인덱싱 구조를 할당하고, 첫 수정 시 변경사항 추적을 위한 WT_PAGE_MODIFY 구조를 추가합니다. 거의 모든 캐시 연산이 lock-free로 설계되어 높은 수준의 동시성을 지원하며, 더티 페이지 비율에 따라 자동 회수(eviction) 정책이 작동합니다.

실무 주의사항: 인플레이스 업데이트 불가

MVCC 동시성 체계의 한계로, 단일 필드 업데이트도 전체 문서를 재작성합니다. 체크포인트는 기본 60초 간격으로 수행되며, 충돌 시 자동 재시도로 인한 응답 지연이 발생할 수 있으므로, 고빈도 업데이트 워크로드에서는 캐시 크기 조정과 압축 알고리즘 선택이 중요합니다.

WIKIDATA WORKSTATION
AI·렌더링에 최적화된
전문가용 워크스테이션
NVIDIA RTX GPU · 최대 192GB 메모리 · ECC 지원