Kim Seogyu
Database

MongoDB WiredTiger 스토리지 엔진 이해하기

WiredTiger의 MVCC, 캐시, 체크포인트, 성능 튜닝 포인트를 실무 중심으로 정리합니다.

Published 2025년 12월 30일1 min read156 words

MongoDB WiredTiger 스토리지 엔진 이해하기

WiredTiger를 이해할 때 중요한 건 구현 디테일보다 "병목이 어디서 생기는가"입니다.

핵심 동작

  1. WAL(저널) 기록
  2. 메모리 캐시에 반영
  3. 체크포인트 시 디스크 반영

이 순서 덕분에 장애 복구와 성능을 함께 잡습니다.

알아야 할 4가지

1) 문서 수준 동시성 + MVCC

읽기/쓰기가 서로 덜 막히므로 혼합 워크로드에서 유리합니다.

2) 캐시 튜닝

캐시가 작으면 eviction 압력이 커지고 지연이 튑니다. 크면 시스템 전체 메모리 압박이 옵니다. 관측 후 조정이 필수입니다.

3) 체크포인트/저널

내구성 설정을 낮춰 TPS를 올릴 수 있지만 장애 시 손실 범위가 늘어납니다. SLO 기준으로 결정해야 합니다.

4) 압축

저장공간과 CPU의 트레이드오프입니다. 일반적으로 기본 압축에서 시작해 I/O 병목이 심할 때만 재평가하는 것이 안전합니다.

운영 체크리스트

  1. serverStatus().wiredTiger를 정기 수집
  2. eviction 지표와 write latency를 함께 관찰
  3. checkpoint 스파이크 시간대를 파악
  4. 대량 배치 작업은 평시 트래픽과 분리

결론

WiredTiger 튜닝은 단일 옵션 최적화가 아니라 캐시, 체크포인트, 저널 정책을 함께 맞추는 작업입니다.

Share

Related Articles

Comments

이 블로그는 제가 알고 있는 것들을 잊지 않기 위해 기록하는 공간입니다.
직접 작성한 글도 있고, AI의 도움을 받아 정리한 글도 있습니다.
정확하지 않은 내용이 있을 수 있으니 참고용으로 봐주세요.

© 2026 Seogyu Kim