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을 제공