10. WiredTiger와 플러그형 스토리지

플러그형 스토리지 엔진 API#

  • 스토리지 엔진: DB와 HW간 인터페이스
  • 이런 스토리지 엔진은 MongoDB에서 구현체에 따라 변경 가능해서 플러그형 스토리지 엔진이라 부름

왜 다른 스토리지 엔진#

  • 읽기쓰기 비율, 동적/정적 컨텐츠에 따른 다른 필요성
  • 예로
    • 뉴스 사이트는 정적컨텐츠를 제공해서, 읽기 성능이 좋아야 함
    • SNS는 동적 컨텐츠를 제공해야 하므로, 쓰기 성능이 받쳐줘야 함
  • 각 플러그형 스토리지 엔진마다 특징이 있어 서비스의 필요성에 따라 엔진을 선택할 수 있도록 구성

WiredTiger (WT)#

  • 멀티 코어 확장성과 최적의 램 사용에 초점을 맞춘 고성능의 확장 가능한 오픈 소스 데이터 엔진

MMAPv1과 WT의 비교#

테스트 환경이 실제 환경을 대신한다 할 수 없음

  • WT가 디스크를 MMAPv1에 비해 15% 미만을 차지하는 장점을 가짐
  • cold fetch (첫 읽기 쿼리) 에 WT가 강점을 보임

잠금#

  • 3.0부터 MMAPv1은 collection 수준 잠금이 도입
  • 3.0부터 WT는 db, collection, document 수준의 lock을 제공
Last updated on