Skip to main content
Log in

Optimizing B+-tree for hybrid storage systems

  • Published:
Distributed and Parallel Databases Aims and scope Submit manuscript

Abstract

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 HybridB tree 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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22
Fig. 23

Similar content being viewed by others

Notes

  1. http://www.newegg.com.

  2. http://sourceforge.net/projects/benchmarksql/.

References

  1. Levandoski, J.J., Sengupta, S.: The BW-tree: a latch-free B-tree for log-structured flash storage [J]. IEEE Data Eng. Bull. 36(2), 56–62 (2013)

    Google Scholar 

  2. Wu, C.-H., Lin, Y.-H.: A concurrency buffer control in B-trees for flash-memory storage systems [J]. Embed. Syst. Lett. 4(1), 9–12 (2012)

    Article  Google Scholar 

  3. Roh, H., Park, S., Kim, S., Shin, M., Lee, S.-W.: B+-tree index optimization by exploiting internal parallelism of flash-based solid state drives [J]. Proc. VLDB Endow. 5(4), 286–297 (2011)

    Article  Google Scholar 

  4. Havasi, F.: An improved B+ tree for flash file systems [C]. Proceedings of SOFSEM, pp. 297–307. Springer, Berlin (2011)

    Google Scholar 

  5. Chen, S.: FlashLogging: exploiting flash devices for synchronous logging performance [C]. Proceedings of SIGMOD, pp. 73–86 (2009)

  6. Graefe, G.: Integrating flash devices [J]. Commun. ACM 52(4), 97 (2009)

    Article  Google Scholar 

  7. Lv, Y., Cui, B., Chen, X., Li, J.: Hotness-aware buffer management for flash-based hybrid storage systems [C]. Proceedings of of CIKM, pp. 1631–1636 (2013)

  8. Liu, X., Salem, K.: Hybrid storage management for database systems [J]. Proc. VLDB Endow. 6(8), 541–552 (2013)

    Article  Google Scholar 

  9. Koltsidas, I., Viglas, S.: Flashing up the storage layer [J]. Proc. VLDB Endow. 1(1), 514–525 (2008)

    Article  Google Scholar 

  10. Yang, P., Jin, P., Yue, L.: Hybrid storage with disk based write cache [C], Proceedings of DASFAA Workshops, pp. 264–275 (2011)

  11. Cui, K., Jin, P., Yue, L.: HashTree: a new hybrid index for flash disks [C]. Proceedings of APWeb, pp. 45–51 (2010)

  12. Agrawal, D., Ganesan, D., Sitaraman, R.K., Diao, Y., Singh, S.: Lazy-adaptive tree: an optimized index structure for flash devices [J]. Proc. VLDB Endow. 2(1), 361–372 (2009)

    Article  Google Scholar 

  13. Li, Y., He, B., Yang, J., Luo, Q., Yi, K.: Tree indexing on solid state drives [J]. Proc. VLDB Endow. 3(1), 1195–1206 (2010)

    Article  Google Scholar 

  14. Li, Y., He, B., Luo, Q., Yi, K.: Tree indexing on flash disks [C]. Proceedings of ICDE, pp. 1303–1306 (2009)

  15. Nath, S., Kansal, A.: FlashDB: dynamic self-tuning database for NAND Flash [C]. Procedings of IPSN, pp. 410–419 (2007)

  16. Canim, M., Mihaila, G.A., Bhattacharjee, B., Ross, K.A., Lang, C.A.: SSD bufferpool extensions for database systems [J]. Proc. VLDB Endow. 3(2), 1435–1446 (2010)

    Article  Google Scholar 

  17. Soundararajan, G., Prabhakaran, V., Balakrishnan, M., Wobber, T.: Extending SSD lifetimes with disk-based write caches [C]. Proceedings of FAST, pp. 101–114 (2010)

  18. Viglas, S.: Adapting the B +-tree for asymmetric I/O [C]. Proceedings of ADBIS, pp. 399–412 (2012)

  19. Roh, H., Kim, W.-C., Kim, S.-W., Park, S.: A B-tree index extension to enhance response time and the life cycle of flash memory [J]. Inf. Sci. 179(18), 3136–3161 (2009)

    Article  MathSciNet  Google Scholar 

  20. Lu, K., Jin, P., Yang, P., Wan, S., Yue, L.: Adaptive in-page logging for flash-memory storage systems [J]. Front. Comput. Sci. 8(1), 131–144 (2014)

    Article  MathSciNet  Google Scholar 

  21. Zhao, H., Jin, P., Yang, P., Yue, L.: BPCLC: an efficient write buffer management scheme for flash-based solid state disks [J]. Int. J. Digit. Contents Appl. 4(6), 123–133 (2010)

    Google Scholar 

  22. Bonnet, P., Bouganim, L., Koltsidas, I., Viglas, S.: System co-design and data management for flash devices [J]. Proc. VLDB Endow. 4(12), 1504–1505 (2011)

    Google Scholar 

Download references

Acknowledgments

This work is partially supported by the National Science Foundation of China under the Grant No. 61379037 and 61472376, and the OATF project funded by University of Science and Technology of China. We would like to thank the editors and anonymous reviewers for their suggestions and comments to improve the quality of the paper.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Peiquan Jin.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Jin, P., Yang, P. & Yue, L. Optimizing B+-tree for hybrid storage systems. Distrib Parallel Databases 33, 449–475 (2015). https://doi.org/10.1007/s10619-014-7157-7

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10619-014-7157-7

Keywords

Navigation