Abstract
Flash-based solid state device(SSD) is making deep inroads into enterprise database applications due to its faster data access. The capacity and performance characteristics of SSD make it well-suited for use as a second-level buffer cache. In this paper, we propose a SSD-based multilevel buffer scheme, called flash-aware second-level cache(FASC), where SSD serves as an extension of the DRAM buffer. Our goal is to reduce the number of disk accesses by caching the pages evicted from DRAM in the SSD, thereby enhancing the performance of database systems. For this purpose, a cost-aware main memory replacement policy is proposed, which can efficiently reduce the cost of page evictions. To take full advantage of the SSD, a block-based data management policy is designed to save the memory overheads, as well as reducing the write amplification of flash memory. To identify the hot pages for providing great performance benefits, a memory-efficient replacement policy is proposed for the SSD. Moreover, we also present a light-weight recovery policy, which is used to recover the data cached in the SSD in case of system crash. We implement a prototype based on PostgreSQL and evaluate the performance of FASC. The experimental results show that FASC achieves significant performance improvements.
This research was partially supported by the grants from the Natural Science Foundation of China (No. 61379050,91224008); the National 863 High-tech Program (No. 2013AA013204); Specialized Research Fund for the Doctoral Program of Higher Education(No. 20130004130001), and the Fundamental Research Funds for the Central Universities, and the Research Funds of Renmin University(No. 11XNL010).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Do, J., Zhang, D.H., Patel, J.M., DeWitt, D.J.: Fast peak-to-peak behavior with SSD buffer pool. In: 30th International Conference on Data Engineering, pp. 1129–1140. IEEE Press, Brisbane (2013)
Koltsidas, I., Viglas, S.D.: Designing a Flash-Aware Two-Level cache. In: Eder, J., Bielikova, M., Tjoa, A.M. (eds.) ADBIS 2011. LNCS, vol. 6909, pp. 153–169. Springer, Heidelberg (2011)
Agrawal, N., Prabhakaran, V., Wobber, T., Davis, J.D., Manasse, M.S., Panigrahy, R.: Design tradeoffs for SSD performance. In: 2008 USENIX Annual Technical Conference, pp. 57–70. USENIX Association, Boston (2008)
Bouganim, L., Jnsson, B.T., Bonnet, P.: uFLIP: Understanding flash IO patterns. In: Online Proceedings of the 4th Biennial Conference on Innovative Data Systems Research, pp. 1–12, Asilomar (2009)
Chen, S.M.: FlashLogging: exploiting flash devices for synchronous logging performance. In: ACM SIGMOD International Conference on Management of Data, pp. 73–86. ACM Press, Rhode Island (2009)
Tsirogiannis, D., Harizopoulos, S., Shah, M.A., Wiener, J.L., Graefe, G.: Query processing techniques for solid state drives. In: ACM SIGMOD International Conference on Management of Data, pp. 59–72. ACM Press, Rhode Island (2009)
Lee, S.W., Moon, B., Park, C., Kim, J.M., Kim, S.W.: A case for flash memory ssd in enterprise database applications. In: ACM SIGMOD International Conference on Management of Data, pp. 1075–1086. ACM Press, Vancouver (2008)
Canim, M., Mihaila, G.A., Bhattacharjee, B., Ross, K.A., Lang, C.A.: SSD Bufferpool Extensions for Database Systems. Proceedings of the VLDB Endowment 3(2), 1435–1446 (2010)
Do, J., Zhang, D.H., Patel, J.M., DeWitt, D.J., Naughton, J.F., Halverson, A.: Turbocharging DBMS buffer pool using SSDs. In: ACM SIGMOD International Conference on Management of Data, pp. 1113–1124. ACM Press, Athens (2011)
Kan, W.H., Lee, S.W., Moon, B.: Flash-based Extended Cache for Higher Throughput and Faster Recovery. Proceedings of the VLDB Endowment 5(1), 1615–1626 (2012)
Hu, X.Y., Eleftheriou, E., Haas, R., Iliadis, I., Pletka, R.: Write amplification analysis in flash-based solid state drives. In: Israeli Experimental Systems Conference 2009, pp. 82–90. ACM Press, Haifa (2009)
Zhou, Y.Y., Chen, Z.F., Li, K.: Second-Level Buffer Cache Management. IEEE Transactions on Parallel and Distributed Systems 15(6), 505–519 (2004)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this paper
Cite this paper
Wang, J., Guo, Z., Meng, X. (2015). An Efficient Design and Implementation of Multi-level Cache for Database Systems. In: Renz, M., Shahabi, C., Zhou, X., Cheema, M. (eds) Database Systems for Advanced Applications. DASFAA 2015. Lecture Notes in Computer Science(), vol 9049. Springer, Cham. https://doi.org/10.1007/978-3-319-18120-2_10
Download citation
DOI: https://doi.org/10.1007/978-3-319-18120-2_10
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-18119-6
Online ISBN: 978-3-319-18120-2
eBook Packages: Computer ScienceComputer Science (R0)