• Title/Summary/Keyword: WiredTiger

Search Result 2, Processing Time 0.02 seconds

Performance Evaluation and Optimization of NoSQL Databases with High-Performance Flash SSDs (고성능 플래시 SSD 환경에서 NoSQL 데이터베이스의 성능 평가 및 최적화)

  • Han, Hyuck
    • The Journal of the Korea Contents Association
    • /
    • v.17 no.7
    • /
    • pp.93-100
    • /
    • 2017
  • 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.

Design and Evaluation of an Efficient Flushing Scheme for key-value Store (키-값 저장소를 위한 효율적인 로그 처리 기법 설계 및 평가)

  • Han, Hyuck
    • The Journal of the Korea Contents Association
    • /
    • v.19 no.5
    • /
    • pp.187-193
    • /
    • 2019
  • Key-value storage engines are an essential component of growing demand in many computing environments, including social networks, online e-commerce, and cloud services. Recent key-value storage engines offer many features such as transaction, versioning, and replication. In a key-value storage engine, transaction processing provides atomicity through Write-Ahead-Logging (WAL), and a synchronous commit method for transaction processing flushes log data before the transaction completes. According to our observation, flushing log data to persistent storage is a performance bottleneck for key-value storage engines due to the significant overhead of fsync() calls despite the various optimizations of existing systems. In this article, we propose a group synchronization method to improve the performance of the key-value storage engine. We also design and implement a transaction scheduling method to perform other transactions while the system processes fsync() calls. The proposed method is an efficient way to reduce the number of frequent fsync() calls in the synchronous commit while supporting the same level of transaction provided by the existing system. We implement our scheme on the WiredTiger storage engine and our experimental results show that the proposed system improves the performance of key-value workloads over existing systems.