Improving Database Performance Using a Flash-Based Write Cache

  • Yi Ou
  • Theo Härder
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7240)


The use of flash memory as a write cache for a database stored on magnetic disks has been so far largely ignored. In this paper, we explore how flash memory can be efficiently used for this purpose and how such a write cache can be implemented. We systematically study the design alternatives, algorithms, and techniques for the flash-based write cache and evaluate them using trace-driven simulations, covering the most typical database workloads.


Replacement Policy Magnetic Disk Cache Page Cache Algorithm Track Number 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Gal, E., Toledo, S.: Algorithms and data structures for flash memories. ACM Computing Surveys 37(2), 138–163 (2005)CrossRefGoogle Scholar
  2. 2.
    Chung, T.S., Park, D.J., Park, S., Lee, D.H., Lee, S.W., Song, H.J.: A survey of flash translation layer. Journal of Systems Architecture 55(5), 332–343 (2009)CrossRefGoogle Scholar
  3. 3.
    Bouganim, L., Jónsson, B.T., Bonnet, P.: uFLIP: Understanding flash IO patterns. In: CIDR 2009 (2009)Google Scholar
  4. 4.
    Tsirogiannis, D., Harizopoulos, S., et al.: Query processing techniques for solid state drives. In: SIGMOD, pp. 59–72. ACM (2009)Google Scholar
  5. 5.
    Li, Y., On, S.T., Xu, J., Choi, B., Hu, H.: DigestJoin: Exploiting fast random reads for flash-based joins. In: MDM 2009, pp. 152–161. IEEE (2009)Google Scholar
  6. 6.
    Nath, S., Kansal, A.: FlashDB: dynamic self-tuning database for NAND flash. In: Int. Conf. on Information Processing in Sensor Networks, pp. 410–419 (2007)Google Scholar
  7. 7.
    Li, Y., He, B., Luo, Q., Yi, K.: Tree indexing on flash disks. In: ICDE 2009, pp. 1303–1306. IEEE (2009)Google Scholar
  8. 8.
    Yin, S., Pucheral, P., Meng, X.: A sequential indexing scheme for flash-based embedded systems. In: EDBT 2009, pp. 588–599. ACM (2009)Google Scholar
  9. 9.
    Park, S., Jung, D., et al.: CFLRU: a replacement algorithm for flash memory. In: CASES, pp. 234–241 (2006)Google Scholar
  10. 10.
    Ou, Y., Härder, T., et al.: CFDC: a flash-aware replacement policy for database buffer management. In: SIGMOD Workshop DaMoN, pp. 15–20 (2009)Google Scholar
  11. 11.
    Jin, P., Ou, Y., Härder, T., Li, Z.: AD-LRU: An efficient buffer replacement algorithm for flash-based databases. Data & Knowledge Eng. 72, 83–102 (2012)CrossRefGoogle Scholar
  12. 12.
    Lee, S.W., Moon, B.: Design of flash-based DBMS: an in-page logging approach. In: SIGMOD 2007, pp. 55–66. ACM (2007)Google Scholar
  13. 13.
    Chen, S.: FlashLogging: exploiting flash devices for synchronous logging performance. In: SIGMOD 2009, pp. 73–86. ACM (2009)Google Scholar
  14. 14.
    On, S., Xu, J., Choi, B., Hu, H., He, B.: Flag Commit: Supporting efficient transaction recovery on flash-based DBMSs. IEEE Transactions on Knowledge and Data Engineering (99), 1–1 (2011)Google Scholar
  15. 15.
    Narayanan, D., Thereska, E., et al.: Migrating server storage to SSDs: analysis of tradeoffs. In: EuroSys, pp. 145–158. ACM (2009)Google Scholar
  16. 16.
    Koltsidas, I., Viglas, S.D.: The case for flash-aware multi-level caching. Technical Report (2009)Google Scholar
  17. 17.
    Ou, Y., Härder, T.: Trading Memory for Performance and Energy. In: Xu, J., Yu, G., Zhou, S., Unland, R. (eds.) DASFAA Workshops 2011. LNCS, vol. 6637, pp. 241–253. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  18. 18.
    Ousterhout, J., Agrawal, P., Erickson, D., et al.: The case for RAMClouds: scalable high-performance storage entirely in DRAM. ACM SIGOPS Operating Systems Review 43(4), 92–105 (2010)CrossRefGoogle Scholar
  19. 19.
    Plattner, H.: A common database approach for OLTP and OLAP using an in-memory column database. In: SIGMOD 2009, pp. 1–2. ACM (2009)Google Scholar
  20. 20.
    Micron Technology, Inc. Micron collaborates with sun microsystems to extend lifespan of flash-based storage, achieves one million write cycles,
  21. 21.
    Canim, M., Mihaila, G.A., et al.: SSD bufferpool extensions for database systems. In: VLDB, pp. 1435–1446 (2010)Google Scholar
  22. 22.
    Do, J., DeWitt, D.J., Zhang, D., Naughton, J.F., et al.: Turbocharging DBMS buffer pool using SSDs. In: SIGMOD 2011, pp. 1113–1124. ACM (2011)Google Scholar
  23. 23.
    Li, Y., Xu, J., Choi, B., Hu, H.: StableBuffer: optimizing write performance for dbms applications on flash devices. In: CIKM 2010, pp. 339–348. ACM, New York (2010)Google Scholar
  24. 24.
    Soundararajan, G., Prabhakaran, V., et al.: Extending SSD lifetimes with disk-based write caches. In: USENIX FAST 2010. USENIX Association (2010)Google Scholar
  25. 25.
    Yang, P., Jin, P., Yue, L.: Hybrid Storage with Disk Based Write Cache. In: Xu, J., Yu, G., Zhou, S., Unland, R. (eds.) DASFAA Workshops 2011. LNCS, vol. 6637, pp. 264–275. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  26. 26.
    Zhou, Y., Chen, Z., et al.: Second-level buffer cache management. IEEE Transactions on Parallel and Distributed Systems 15(6), 505–519 (2004)CrossRefGoogle Scholar
  27. 27.
    Mohan, C., Haderle, D.J., et al.: ARIES: A transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging. ACM Trans. Database Syst. 17(1), 94–162 (1992)CrossRefGoogle Scholar
  28. 28.
    Härder, T., Reuter, A.: Principles of transaction-oriented database recovery. ACM Computing Surveys 15(4), 287–317 (1983)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Yi Ou
    • 1
  • Theo Härder
    • 1
  1. 1.University of KaiserslauternKaiserslauternGermany

Personalised recommendations