DOI QR코드

DOI QR Code

A Flash-based B+-Tree using Sibling-Leaf Blocks for Efficient Node Updates and Range Searches

  • Received : 2016.06.05
  • Accepted : 2016.07.05
  • Published : 2016.08.31

Abstract

Recently, as the price per bit is decreasing at a fast rate, flash memory is considered to be used as primary storage of large-scale database systems. Although flash memory shows off its high speeds of page reads, however, it has a problem of noticeable performance degradation in the presence of increasing update workloads. When updates are requested for pages with random page IDs, in particular, the shortcoming of flash tends to impair significantly the overall performance of a flash-based database system. Therefore, it is important to have a way to efficiently update the B+-tree, when it is stored in flash storage. This is because most of updates in the B+-tree arise at leaf nodes, whose page IDs are in random. In this light, we propose a new flash B+-tree that stores up-to-date versions of leaf nodes in sibling-leaf blocks (SLBs), while updating them. The use of SLBs improves the update performance of B-trees and provides the mechanism for fast key range searches. To verify the performance advantages of the proposed flash B+-tree, we developed a mathematical performance evaluation model that is suited for assessing B-tree operations. The performance comparisons from it show that the proposed flash B+-tree provides faster range searches and reduces more than 50% of update costs.

Keywords

References

  1. Stepahan Baumann, Giel de Nijs, Michael Strobel, and Kai-Uwe Sattler, "Flashing Databases: Expectations and Limitations", In Proc. of Data Management on New Hardware, pp. 9-18, 2010.
  2. Yongkun Wang, Kazuo Goda, and Masaru Kitsuregawa, "Evaluating Non-In-Place Update Techniques for Flash-Based Transaction Processing Systems", In Proc. of DEXA, pp. 777-791, 2009.
  3. Gap-Joo Na, Sang-Won Lee, and Bongki Moon, "Dynamic In-Page Logging for B+-tree Index", IEEE Trans. on Knowledge and Data Engineering, Vol. 24(7), pp. 1231-1243, 2012 https://doi.org/10.1109/TKDE.2011.32
  4. Sungup Moon, Sang-Phil Lim, Dong-Joo Park, and Sang-Won Lee, "Crash Recovery in FAST FTL", LNCS Vol. 6399, pp. 13-22, 20111.
  5. Chin-Hsien Wu, Tei-Wei Kuo, and Li Ping Chang, "An Efficient B-tree Layer Implementation for Flash-memory Storage Systems", ACM Transactions on Embedded Computing Systems, Vol. 6(3), 2007 (BFTL)
  6. Sang-Won Lee and Bongki Moon,"Design of Flash-based DBMS: An In-page Logging Approach," In Proc. of ACM SIGMOD, pp.55-66, 2007.
  7. Chang Xu, Lidan Show, Gang Chen, Cheng Yan, and Tianlei Hu, "Update Migration: An Efficient B+-tree for Flash Storage", In Proc. of DASFAA, pp.276-290, 2010.
  8. Hua-Wei Fang, Mi-Yen Yeh, Pei-Lun Suei, and Tei-Wei Kuo, "An Adaptive Endurance-aware B+-tree for Flash Memory Storage Systems", IEEE Transactions on Computers, 2013.
  9. Hongchan Roh, Sanghyun Park, Sungho Kim, Mincheol Shin, and Sang-Won Lee, "B+-tree Index Optimization by Exploiting Internal Parallelism of Flash-based Solid State Drives", In Proc. of VLDB, pp.286-297, 2011.
  10. Sang-Won Lee, and Bongki Moon, "Transactional In-Page Logging for Multiversion Read Consistency and Recovery," In Proc. of ICDE, pp.876-887, 2011.
  11. Sangwon Park, Ha-Joo Song, and Dong-Ho Lee, "An Efficient Buffer Management Scheme for Implementing a B-Tree on NAND Flash Memory", In Proc. of ICESS, 2007.
  12. D. Yinan Li, Bingsheng He, Robin Jun Yang, Qiong Luo, and Ke Yi, "Tree Indexing on Solid State Drives", In Proc. of the VLDB, 2010
  13. Devesh Agrawal, Deepak Ganesan, Ramesh Sitaraman, Yanlei Diao, Shashi Singh, "Lazy-Adaptive Tree: an Optimized Index Structure for Flash Devices", In Proc. of VLDB, pp. 361-372, August 2009.
  14. Chang Xu, Lidan Show, Gang Chen, Cheng Yan, and Tianlei Hu, "Update Migration: An Efficient B+ Tree for Flash Storage", In Proc. of DASFAA, pp. 276-290, 2010.
  15. Sai Tung On, Haibo Hu, Yu Li, and Jianliang Xu, "Flash-Optimized B+-Tree", Journal of Computer Science and Technology, Vol. 25(3), 2010.
  16. Xiaoyan Xiang, Lihua Yue, Zhanzhan Liu, Peng Wei, "A Reliable B-Tree Implementation over Flash Memory", ACM SAC, 2008.
  17. Patrick E. O'Neil, Edward Cheng, Dieter Gawlick, and Elizabeth J. O'Neil, "The Log-Structured Merge-Tree (LSM-Tree)", Acta Informatica, Vol. 33(1), pp. 351-385, 1996. https://doi.org/10.1007/s002360050048
  18. Marcel Kornacker, C. Mohan, and Joseph Hellerstein, "Concurrency and Recovery in Generalized Search Trees", In Proc. of SIGMOD, 1997.
  19. C. Mohan and F. Levine, "ARIES/IM: An Efficient and High Concurrency Index Management Method using Write-ahead Logging", In Proc. of SIGMOD, 1992.
  20. Sungchae Lim, Myoung-Ho Kim, "Restructuring the concurrent B+-tree with non-blocked search operations", Information Sciences, 147(1-4), 2002.