Browse > Article
http://dx.doi.org/10.5392/JKCA.2019.19.05.187

Design and Evaluation of an Efficient Flushing Scheme for key-value Store  

Han, Hyuck (동덕여자대학교 컴퓨터학과)
Publication Information
Abstract
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.
Keywords
Key-value Storage Engine; Write-ahead Logging; Synchronization;
Citations & Related Records
연도 인용수 순위
  • Reference
1 Jing Han, E. Haihong, Guan Le, and Jian Du, "Survey on NoSQL database," In Proceedings of the 6th International Conference on Pervasive Computing and Applications, 2011.
2 WiredTiger, http://www.wiredtiger.com, 2014.
3 C. Mohan, Don Haderle, Bruce Lindsay, Hamid Pirahesh, and Peter Schwarz, "ARIES: a transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging," ACM Trans. Database Syst., Vol.17, No.1, pp.94-162, 1992.   DOI
4 P. Helland, H. Sammer, J. Lyon, R. Carr, P. Garrett, and A. Reuter, "Group commit timers and high volume transaction systems," In Proceedings of High Performance Transaction Systems (HPTS), 1987.
5 R. Ramakrishnan and J. Gehrke, Database management systems, Osborne/McGraw-Hill, 2000.
6 Ryan Johnson, Ippokratis Pandis, Radu Stoica, Manos Athanassoulis, and Anastasia Ailamaki, "Aether: a scalable approach to logging," In Proceedings of the 2010 international conference on very large database (VLDB '10), 2010.
7 Jian Huang, Karsten Schwan, and Moinuddin K. Qureshi, "NVRAM-aware logging in transaction systems," Proceedings of the 2014 international conference on very large database (VLDB '14), 2014.
8 Shimin Chen, "FlashLogging: exploiting flash devices for synchronous logging performance," In Proceedings of the 2009 ACM SIGMOD International Conference on Management of data (SIGMOD '09), 2009.
9 S. Gao, J. Xu, T. Harder, B. He, B. Choi, and H. Hu, "PCMLogging: Optimizing Transaction Logging and Recovery Performance with PCM," IEEE Transactions on Knowledge and Data Engineering, Vol.27, No.12, 2015.
10 Brian F. Cooper, Adam Silberstein, Erwin Tam, Raghu Ramakrishnan, and Russell Sears, "Benchmarking cloud serving systems with YCSB," In Proceedings of the 1st ACM symposium on Cloud computing (SoCC '10), 2010.
11 Roshan Sumbaly, Jay Kreps, Lei Gao, Alex Feinberg, Chinmay Soman, and Sam Shah, "Serving large-scale batch computed data with project Voldemort," In Proceedings of the 10th USENIX conference on File and Storage Technologies (FAST '12), 2012.
12 Berk Atikoglu, Yuehai Xu, Eitan Frachtenberg, Song Jiang, and Mike Paleczny, "Workload analysis of a large-scale key-value store," In Proceedings of the 12th ACM international conference on Measurement and Modeling of Computer Systems (SIGMETRICS '12), 2012.
13 Swaminathan Sivasubramanian, "Amazon dynamodb: a seamlessly scalable non-relational database service," In Proceedings of the 2012 ACM SIGMOD International Conference on Management of Data (SIGMOD '12), 2012.
14 J. L. Carlson, Redis in Action, Manning Publications Co., 2013.
15 Brad Fitzpatrick, Distributed caching with memcached, Linux Journal, 2004.