Applying In-Page Logging to SQLite DBMS

SQLite DBMS에 IPL 기법 응용

  • 나갑주 (성균관대학교 전자전기컴퓨터공학과) ;
  • 김상우 (성균관대학교 전자전기컴퓨터공학과) ;
  • 김재명 (성균관대학교 전자전기컴퓨터공학과) ;
  • 이상원 (성균관대학교 컴퓨터공학부)
  • Published : 2008.10.15

Abstract

Flash memory has been widely used in mobile devices, such as mobile phone and digital camera. Recently flash SSD(Solid State Disk), having same interface of the disk drive, is replacing the hard disk of some laptop computers. However, flash memory still cannot be considered as the storage of database systems. The FTL(Flash Translation Layer) of commercial flash SSD, making flash memory operate exactly same as a hard disk, shows poor performance on the workload of databases with many random overwrites. Recently In-Page Logging(IPL) approach was proposed to solve this problem. In this paper, we implement IPL approach on SQLite, a popular open source embedded DBMS, and evaluate its performance. It improves the performance by up to 30 factors for update queries.

플래시메모리는 휴대폰, 디지털카메라를 비롯한 휴대기기의 저장장치로 널리 사용된다. 최근에는 하드디스크와 같은 인터페이스를 가지는 플래시 SSD가 일부 노트북의 하드디스크를 대체하고 있다. 하지만 플래시메모리는 데이타베이스 시스템의 저장장치로 고려되지 못하고 있다. 플래시메모리를 하드디스크처럼 사용하기 위한 플래시 변환 계층이 임의의 영역에 많은 양의 덮어쓰기 연산을 유발하는 데이타베이스의 워크로드에서 나쁜 성능을 보이기 때문이다. 이러한 문제를 해결하기 위해 In-Page Logging(IPL)이라는 기법이 제안되었다. 이 논문에서는 잘 알려진 오픈소스 데이타베이스인 SQLite에 IPL 기법을 적용하여 성능을 평가하였고, 갱신 질의 처리 성능이 30배 향상됨을 보인다.

Keywords

References

  1. Linda Dailey Paulson. "Will Hard Drives Finally Stop Shrinking?" IEEE Computer, 38(5):14-16, May 2005
  2. Mark Hachman. New Samsung Notebook Replaces Hard Drive With Flash. http://www.extremetech.com, May 2006
  3. Intel. Understanding the Flash Translation Layer (FTL) Specification. Application Note AP-684, Intel Corporation, December 1998
  4. Sang-Won Lee, Bongki Moon, "Design of Flash- Based DBMS: An In-Page Logging Approach," ACM SIGMOD, June 2007
  5. SQLite, http://www.sqlite.org
  6. T. S. Chung, D. J. Park, S. W. Park, D. H. Lee, S. W. Lee, and H. J. Song, "System Software for Flash Memory: A Survey," EUC 2006, August 2006
  7. Jesung Kim, Jong Min Kim, Sam H. Noh, Sang Lyul Min, and Yookun Cho, "A Space-Efficient Flash Translation Layer for CompactFlash Systems," IEEE Transactions on Consumer Electronics, 48(2):366-375, May 2002 https://doi.org/10.1109/TCE.2002.1010143
  8. Sang-Won Lee, Dong-Joo Park, Tae-Sun Chung, Dong-Ho Lee, Sang-Won Park, and Ha-Joo Song, "A Log Buffer based Flash Translation Layer using Fully Associative Sector Translation," ACM Transactions on Embedded Computing Systems, 6(3): Article 18, July 2007
  9. Mendel Rosenblum, "The Design and Implementation of a Log-Structured File System," ACM Transactions on Computer Systems, 10(1):26-52, February 1992 https://doi.org/10.1145/146941.146943
  10. C. H. Wu, L. P. Chang, and T. W. Kuo, "An Efficient B-Tree Layer for Flash-Memory Storage Systems," RTCSA 2003, pp. 409-430, 2004
  11. Suman Nath, Aman Kansal, "FlashDB: Dynamic Self-tuning Database for NAND Flash," IPSN 2007, April 2007
  12. Gye-Jeong Kim, Seung-Cheon Baek, Hyun-Sook Lee, Han-Deok Lee, and Moon Jeung Joe. "LGeDBMS: A Small DBMS for Embedded System with Flash Memory," In Proceedings of the 32nd International Conference on Very Large Data Bases, Seoul, Korea, September 12-15, 2006
  13. ENEA, Ployhedra FlashLite Datasheet, http://www. enea.com, 2006
  14. C. Mohan, Donald J. Haderle, Bruce G. Lindsay, Hamid Pirahesh, and Peter M. Schwarz. "ARIES: A Transaction Recovery Method Supporting Fine- Granularity Locking and Partial Rollbacks Using Write-Ahead Logging," ACM Transactions on Database Systems, 17(1):94-162, 1992 https://doi.org/10.1145/128765.128770
  15. R. Ramakrishnan, J. Gehrke, "Database Management Systems, 3rd Ed.," McGraw-Hill, 2004