Abstract
Recently, demands for high-performance flash-based storage devices (i.e., flash SSD) have rapidly grown in social network services, cloud computing, super-computing, and enterprise storage systems. The industry and academic communities made the NVMe specification for high-performance storage devices, and NVMe-based flash SSDs can be now obtained in the market. In this article, we evaluate performance of NoSQL databases that social network services and cloud computing services heavily adopt by using NVMe-based flash SSDs. To this end, we use NVMe SSD that Samsung Electronics recently developed, and the SSD used in this study has performance up to 3.5GB/s for sequential read/write operations. We use WiredTiger for NoSQL databases, and it is a default storage engine for MongoDB. Our experimental results show that log processing in NoSQL databases is a major overhead when high-performance NVMe-based flash SSDs are used. Furthermore, we optimize components of log processing and optimized WiredTiger show up to 15 times better performance than original WiredTiger.
최근 사회 관계망 서비스, 클라우드 컴퓨팅, 슈퍼컴퓨팅, 기업용 스토리지 시스템 등의 분야에서 고성능 플래시 메모리 기반 저장 장치(플래시 SSD)에 대한 수요가 크게 증가하고 있다. 이러한 환경에서 최근 산업계 및 학계에서는 고성능 플래시 SSD를 위한 NVMe 규약을 만들었고, NVMe 규약을 따르는 고성능 플래시 SSD는 현재 시장에서 구할 수 있다. 본 논문에서는 NVMe 플래시 SSD를 이용하여 클라우드 컴퓨팅, 사회 관계망 서비스 등에서 많이 활용되고 있는 NoSQL 데이터베이스의 성능을 평가하고 분석하고자 한다. 성능 평가에 사용된 저장 장치는 삼성전자가 최근에 개발한 NVMe 기반 플래시 SSD이며 이 장치의 연속 읽기/쓰기 성능은 3.5GB/s 이다. NoSQL 데이터베이스는 MongoDB의 기본 스토리지 엔진으로 채택된 WiredTiger를 사용하였다. 실험 결과는 고성능 NVMe 플래시 SSD 환경에서 NoSQL 데이터베이스의 로그 처리 부분이 성능상의 가장 큰 오버헤드임을 보여준다. 이 결과를 바탕으로 로그 처리 부분을 최적화하였고 최적화된 WiredTiger는 기존 대비 최대 15배의 성능 향상을 보여준다.