DOI QR코드

DOI QR Code

효율적 범위 검색을 위한 플래시 메모리 기반 B+-트리

A Flash Memory B+-Tree for Efficient Range Searches

  • 임성채 (동덕여자대학교 컴퓨터학과) ;
  • 박창섭 (동덕여자대학교 컴퓨터학과)
  • 투고 : 2013.07.08
  • 심사 : 2013.07.25
  • 발행 : 2013.09.28

초록

지난 수십 년간 B+-트리는 디스크 기반 데이터베이스를 위한 색인 구조로 가장 널리 사용되고 있다. 디스크 기반 B+-트리에서의 노드 갱신은 해당 노드가 저장된 디스크 페이지를 제자리 갱신함으로써 간단히 수행되며, 이런 제자리 갱신 비용은 크지 않다. 반면에 B+-트리를 플래시 메모리에 저장하여 사용할 때는 플래시 메모리의 과도한 제자리 갱신 비용 문제로 인해 기존 디스크 기반 B+-트리 알고리즘을 그대로 사용하기 어렵다. 이런 이유로 기존 플래시 메모리 기반 B+-트리 연구에서는 실시간으로 발생하는 갱신 연산 정보를 추가적인 임시 공간에 저장하는 방식을 사용하였다. 이런 방식은 B+-트리의 제자리 갱신 횟수를 쉽게 줄일 수 있다는 장점이 있지만 저장 공간의 추가 사용과 키 검색 시간을 지연시킬 수 있다는 문제가 있다. 특히 단말노드 계층의 링크 연결을 사용한 범위 검색을 효과적으로 수행할 수 없다는 문제를 가지고 있다. 이런 문제점을 해결하기 위해 본 논문에서는 단말노드들과 이들의 부모노드를 p-node 블록이라는 하나의 플래시 메모리 블록에 저장할 수 있는 알고리즘을 제안한다.

키워드

B+-트리;플래시 메모리;범위 검색;공간 재사용

참고문헌

  1. Stepahan Baumann, "Flashing Databases: Expectations and Limitations," In Proc. of DaMon '10, 2010.
  2. Y. K. 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. G. J. Na, S. W. Lee, and B. K. Moon, "Dynamic In-Page Logging for B+-tree Index," IEEE Trnas. on Knowledge and Data Engineering, Vol.24, No.7, pp.1231-1243, 2012. https://doi.org/10.1109/TKDE.2011.32
  4. S. G. Moon, S. P. Lim, D. J. Park, and S. W. Lee, "Crash Recovery in FAST FTL," LNCS Vol.6399, pp.13-22, 2011.
  5. C. H. Wu, T. W. Kuo, and L. P. Chang, "An Efficient B-tree Layer Implementation for Flash-memory Storage Systems," ACM Transactions on Embedded Computing Systems, Vol.6, No.3, 2007.
  6. S. W. Park, H. J. Song, and D. H. Lee, "An Efficient Buffer Management Scheme for Implementing a B-Tree on NAND Flash Memory," In Proc. of ICESS '07, 2007.
  7. 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.
  8. Devesh Agrawal, Deepak Ganesan, Ramesh Sitaraman, Yanlei Diao, and Shashi Singh, "Lazy-Adaptive Tree: an Optimized Index Structure for Flash Devices," In Proc. of VLDB, pp.361-372, 2009(8).
  9. 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.
  10. Sai Tung On, Haibo Hu, Yu Li, and Jianliang Xu, "Flash-Optimized B+-Tree," Journal of Computer Science and Technology, Vol.25, No.3, 2010.
  11. Xiaoyan Xiang, Lihua Yue, Zhanzhan Liu, and Peng Wei, "A Reliable B-Tree Implementation over Flash Memory," SAC 08, 2008.
  12. Patrick E. O'Neil, Edward Cheng, Dieter Gawlick, and Elizabeth J. O'Neil, "The Log-Structured Merge-Tree (LSM-Tree)," Acta Informatica, Vol.33, No.1, pp.351-385, 1996. https://doi.org/10.1007/s002360050048
  13. Marcel Kornacker, C. Mohan, and Joseph Hellerstein, "Concurrency and Recovery in Generalized Search Trees," In Proc. of SIGMOD, 1997.
  14. C. Mohan and F. Levine, "ARIES/IM: An Efficient and High Concurrency Index Management Method using Write-ahead Logging," In Proc. of SIGMOD, 1992.
  15. S. C. Lim and M. H. Kim, "Restructuring the concurrent B+-tree with non-blocked search operations," Inf. Sci., Vol.147, No.1-4, 2002.