Optimizing B+-tree for hybrid storage systems

Flash-memory-based solid state drives (SSD) have been widely used in computer systems. Due to the high price and some specific features of SSD such as asymmetric read/write speeds and limited erasure endurance, it has been a very common solution, e.g., in modern data centers, to use hybrid storage systems involving SSD and traditional hard disks (HDD). However, the SSD/HDD-based hybrid storage systems introduce some new problems in the indexing schemes for data management. In this paper, we propose a new B+-tree-based index for such hybrid storage systems, which is called HybridB tree. The HybridBtree aims to reduce the random writes to SSD while keeping high time performance and low buffer costs. Particularly, we introduce a new design called huge leaf to avoid the splits and merges on B+-tree. A huge leaf node contains two or more leaf nodes in different states. We place the leaf nodes on HDD or SSD according to their current states, and dynamically adapt the states of leaf nodes when they are read or updated. After a detailed explanation on the structure and operations of the HybridB tree, we give a theoretical analysis on the costs of the HybridB tree. Then, we conduct experiments on two TPC-C traces, using a real hybrid storage system including one HDD and two SSDs, and compare the performance of our proposal with two implementations of B+-tree, namely the B+-tree on HDD and the B+-tree on SSD/HDD. The results show that our proposal has the best time performance and the fewest buffer costs. Moreover, our proposal is able to effectively reduce the random writes to SSD.

[1]  Kenneth Salem,et al.  Hybrid Storage Management for Database Systems , 2013, Proc. VLDB Endow..

[2]  Bingsheng He,et al.  Tree indexing on solid state drives , 2010, Proc. VLDB Endow..

[3]  Suman Nath,et al.  FlashDB: Dynamic Self-tuning Database for NAND Flash , 2007, 2007 6th International Symposium on Information Processing in Sensor Networks.

[4]  Woo-Cheol Kim,et al.  A B-Tree index extension to enhance response time and the life cycle of flash memory , 2009, Inf. Sci..

[5]  Sudipta Sengupta,et al.  The BW-Tree: A Latch-Free B-Tree for Log-Structured Flash Storage , 2013, IEEE Data Eng. Bull..

[6]  Stratis Viglas,et al.  Adapting the B + -tree for Asymmetric I/O , 2012, ADBIS.

[7]  Yu-Hsun Lin,et al.  A Concurrency Buffer Control in B-Trees for Flash-Memory Storage Systems , 2012, IEEE Embedded Systems Letters.

[8]  Jing Li,et al.  Hotness-aware buffer management for flash-based hybrid storage systems , 2013, CIKM.

[9]  Sang-Won Lee,et al.  B+-tree Index Optimization by Exploiting Internal Parallelism of Flash-based Solid State Drives , 2011, Proc. VLDB Endow..

[10]  Shimin Chen,et al.  FlashLogging: exploiting flash devices for synchronous logging performance , 2009, SIGMOD Conference.

[11]  Sudipta Sengupta,et al.  A Common Compiler Framework for Big Data Languages: Motivation, Opportunities, and Benefits. , 2013 .

[12]  Goetz Graefe,et al.  Technical perspectiveIntegrating flash devices , 2009, CACM.

[13]  Ke Lu,et al.  Adaptive in-page logging for flash-memory storage systems , 2013, Frontiers of Computer Science.

[14]  Ramesh K. Sitaraman,et al.  Lazy-Adaptive Tree: An Optimized Index Structure for Flash Devices , 2009, Proc. VLDB Endow..

[15]  Hui Zhao,et al.  BPCLC: An Efficient Write Buffer Management Scheme for Flash-Based Solid State Disks , 2010, J. Digit. Content Technol. its Appl..

[16]  Peiquan Jin,et al.  HashTree: A New Hybrid Index for Flash Disks , 2010, 2010 12th International Asia-Pacific Web Conference.

[17]  Kenneth A. Ross,et al.  SSD bufferpool extensions for database systems , 2010, Proc. VLDB Endow..

[18]  Bingsheng He,et al.  Tree Indexing on Flash Disks , 2009, 2009 IEEE 25th International Conference on Data Engineering.

[19]  Philippe Bonnet,et al.  System co-design and data management for flash devices , 2011, Proc. VLDB Endow..

[20]  Suman Nath,et al.  FlashDB: Dynamic Self-tuning Database for NAND Flash , 2007, 2007 6th International Symposium on Information Processing in Sensor Networks.

[21]  Mahesh Balakrishnan,et al.  Extending SSD Lifetimes with Disk-Based Write Caches , 2010, FAST.

[22]  Stratis Viglas,et al.  Flashing up the storage layer , 2008, Proc. VLDB Endow..

[23]  Ferenc Havasi,et al.  An Improved B+ Tree for Flash File Systems , 2011, SOFSEM.

[24]  Peiquan Jin,et al.  Hybrid Storage with Disk Based Write Cache , 2011, DASFAA Workshops.

[25]  Goetz Graefe,et al.  Integrating Flash Devices , 2009 .