F2B+-tree: A Flash-aware B+-tree Using the Bloom Filter

July 31, 2020  |  Vol.6, No.7  |  PP. 21-28  | PDF

AUTHORS:

Sungchae Lim, 02748 Dept. of Computer Science, Dongduk Women’s Univ., Wolgok-dong, Seongbuk-gu, Seoul, Korea

KEYWORDS:

Bloom Filter, B+-tree, Database System, Flash Memory, High-performance Index

Abstract

As the price per bit of flash storage is rapidly decreasing, diverse research has been done to devise flash-aware B+-tree indexes. Since the original B+-tree structure was devised for indexing data records stored in hard disk drives, a naive transplant of the B+-tree into flash may degrade index performance. This is because flash storage suffers from significant performance disparity between update operations and read/write operations. To solve the problem, we adopt the probabilistic index structure, called the Bloom filter. By using the Bloom filter, we make some free space in each node whose child nodes are leaf nodes. We refer to such a node as the BF node. In the free space of a BF node, our proposed F2B+-tree stores update logs in order to save histories of key inserts or deletes that have arisen in leaf nodes. Since B+-tree's nodes except for leaf nodes are usually manipulated in a memory buffer pool, the F2B+-tree can considerably reduce the amount of physical updates on flash storage. Additionally, we cluster a set of sibling leaf nodes in a flash block such that garbage collection can be cheaply performed without full-merges or half-merges. As a result, the F2B+-tree can prevent unpredictable fluctuations in performance of flash-based databases, which could be caused by background-mode actions needed for garbage collection.

References:

[1] Sangwon Park, Ha-Joo Song, Dong-Ho Lee, An Efficient Buffer Management Scheme for Implementing a B-Tree on NAND Flash Memory, International Conference on Embedded Software and Systems, (2011) May 14-16; Daegu, Korea.
[2] Chin-Hsien Wu, Tei-Wei Kuo, Li Ping Chang, An Efficient B-tree Layer Implementation for Flash-memory Storage Systems, ACM Transactions on Embedded Computing Systems, (2012) Vol.6, No.3, pp.1-23, DOI: https://doi.org/10.1145/1275986.1275991
[3] Gap-Joo Na, Sang-Won Lee, Bongki Moon, Dynamic In-Page Logging for B+-tree Index, The 18th ACM conference on Information and knowledge management, (2012) November 4-6; Hong Kong, China.
[4] Stephan Baumann, Giel de Nijs, Michael Strobel, and Kai-Uwe Sattler, Flashing Databases: Expectations and Limitations, International Workshop on Data Management on New Hardware, (2010) Jun 23; Indianapolis, Indiana, USA.
[5] Sungchae Lim, A New Flash-based B+-tree with Very Cheap Update Operations on Leaf Nodes, International Conference on Engineering Technologies and Big Data Analytics, (2016) Jan 21-22; Bangkok, Thailand.
[6] Yinan Li, Bingsheng He, Robin Jun Yang, Qiong Luo, Ke Yi, Tree Indexing on Solid State Drives, Proceedings of the VLDB, (2010) Sep 13-17; Singapore, DOI: https://doi.org/10.14778/1920841.1920990
[7] Hua-Wei Fang, Mi-Yen Yeh, Pei-Lun Suei, Tei-Wei Kuo, An Adaptive Endurance-aware B+-tree for Flash Memory Storage Systems, IEEE Transactions on Computers, (2013), Vol.63, No.4, pp.2661-2673.
[8] Sai Tung On, Haibo Hu, Yu Li, Jianliang Xu, Flash-Optimized B+-Tree, Journal of Computer Science and Technology, (2010), Vol.25, No.4, pp.509-522.
[9] Chang Xu, Lidan Show, Gang Chen, Cheng Yan, Tianlei Hu, Update Migration: An Efficient B+ Tree for Flash Storage, International Conference on Database Systems for Advanced Applications, (2010), April 1-4; Tsukuba, Japan.
[10] Jirapong Tongpang, Prasong Praneetpolgrang and Nivet Chirawichitchai, Hybrid Recommendation Technique Selection Center Donated Bags with Data Envelopment Analysis, International Journal of Disaster Recovery and Business Continuity, (2013), Vol.4, pp.45-56.
[11] Biplob Debnath, Sudipta Sengupta, Jin Li, David J. Lilja, David H.C. Du, BloomFlash: Bloom Filter on Flash-based Storage, The 31st International Conference on Distributed Computing Systems, (2011), July 25; Washinton DC, USA.
[12] Deke Guo, Jie Wu, Honghui Chen, Ye Yuan, and Xueshan Luo, The Dynamic Bloom Filters, IEEE Transactions on Knowledge and Data Engineering, (2010), Vol.22, No.3, pp.120-133.
[13] Siu Kang, Kazusa Ando, Tetsuya Yuasa, The Planning and Implementation of Smartphone Application Designed to Efficient Donation for Direct Support to the 2011 Tohoku Earthquake-Affected Area, International Journal of Disaster Recovery and Business Continuity, (2015), Vol.6, pp.1-8.
[14] Ashima Pansotra, Simar Preet Singh, Additive Hough Transform and Fuzzy C-Means Based Lane Detection System, International Journal of Disaster Recovery and Business Continuity, (2017), Vol.8, pp.1-28.
[15] Sohrab Khan, Nor Zairah Ab. Rahim, Nurazean Maarop, A Review on Antecedents of Citizen’s Trust in Government Social Media Services, International Journal of Disaster Recovery and Business Continuity, (2018), Vol.8, pp.21-30.

Citations:

APA:
Lim, S. (2020). F2B+-tree: A Flash-aware B+-tree Using the Bloom Filter. Asia-pacific Journal of Convergent Research Interchange (APJCRI), ISSN: 2508-9080 (Print); 2671-5325 (Online), FuCoS, 6(7), 21-28. doi: 10.47116/apjcri.2020.07.03

MLA:
Lim, Sungchae “F2B+-tree: A Flash-aware B+-tree Using the Bloom Filter.” Asia-pacific Journal of Convergent Research Interchange, ISSN: 2508-9080 (Print); 2671-5325 (Online), FuCoS, vol. 6, no. 7, 2020, pp. 21-28. APJCRI, http://fucos.or.kr/journal/APJCRI/Articles/v6n7/3.html.

IEEE:
[1] S. Lim, “F2B+-tree: A Flash-aware B+-tree Using the Bloom Filter.” Asia-pacific Journal of Convergent Research Interchange (APJCRI), ISSN: 2508-9080 (Print); 2671-5325 (Online), FuCoS, vol. 6, no. 7, pp. 21-28, July 2020.