A Logging Scheme for Reducing Update Workloads in Flash Storage

  • Abstract
  • Keywords
  • References
  • PDF
  • Abstract

    By caching dirty pages in memory space of a buffering pool, a database system can reduce expensive physical I/O’s required in page updates. If any data page cached has constant updates on itself, it seems to stay long in the buffering pool without flushing-out. Although the existence of such aged dirty pages can reduce the amount of physical updates in storage, it is apt to prolong time taken for recovery procedure after system failure. To prevent such a delayed recovery time, database systems usually take an approach of flushing aged dirty pages in a background mode. Even though the approach may be beneficial in the case of HDD storage, this may not be the case for flash storage because of its high update costs. To solve this problem, we proposed a new logging scheme and a recovery algorithm running with it. Since aged dirty pages in our method are written into a dedicated log file, rather than into data area in storage, we can evade frequent updating of them. To reduce the amount of log data written for that purpose, our logging scheme uses a small size of snapshot log. Since the write of a snapshot log record can put the redo start point forwards, we can guarantee the fast recovery procedure, while reducing the number of page updates. Due to reduced update workloads, our method can improve the overall throughput of flash storage.



  • Keywords

    flash memory, database recovery, logging algorithm, storage system

  • References

      [1] Agrawal, D., Ganesan, D., Sitaraman, R., Diao, Y., Singh, S. (2009). Lazy-Adaptive Tree: an optimized index structure for flash devices. In Proceedings of VLDB. VLDB.

      [2] Baumann, S., Nijs, G., Strobel, M., & Sattler, K. (2010). Flashing databases: Expectations and limitations. In Proceedings of ACM DaMon. ACM.

      [3] Colgrove, J., Davis, J., Hayes, Miller, E., Sandvig, C., Sears, R., Tamches, A., Vachharajani, N., Wang, & Purity, F. (2015). Building fast, highly-available enterprise flash storage from commodity components. In Proceedings of SIGMOD. ACM.

      [4] Do, J., Zhang, D., Patel, J., DeWitt, D., Naughton, J., & Halverson, A. (2011). Turbo-charging DBMS buffer pool using SSDs. In Proceedings of ACM SIGMOD. ACM.

      [5] Ganim, M., Mihaila, G., Bhattacharjee, B., Ross, K., & Lang, C. (2010). SSD bufferpool extensions for database systems. In Proceedings of VLDB. VLDB.

      [6] Gupta, A., Kim, Y. & Urgaonkar, B. (2009). DFTL: A flash translation layer employing demand-based selective caching of page-level address mappings. In Proceedings of ASPLOS. ACM.

      [7] Jeong, K., Kim, S., & Lim, S. (2015). A flash-aware buffering scheme using on-the-fly redo. In Proceedings of ACM CIKM. ACM.

      [8] Kornacker, M., Mohan, C., & Hellerstein, J. (1997). Concurrency and recovery in generalized search trees. In Proceedings of SIGMOD. ACM.

      [9] Lee, S. & Moon, B. (2007). Design of flash-based DBMS: An in-page logging approach. In Proceedings of ACM SIGMOD. ACM.

      [10] Li, Y., He, B., Yang, R., Luo, Q., & Yi, K. (2010). Tree indexing on solid state drives. In Proceedings of VLDB. VLDB.

      [11] Lim, S. (2016). A new flash-based B+-tree with very cheap update operations on leaf node. In Proceedings of ETBDA. IIENG.

      [12] Mohan, C. & Levine, F. (1992). ARIES/IM: An efficient and high concurrency index management method using write-ahead logging. In Proceedings of SIGMOD. ACM.

      [13] Moon, S., Lim, S., Park, D., & Lee, S. (2011). Crash recovery in FAST FTL. In Proceedings of software technologies for embedded and ubiquitous systems. Springer.

      [14] Na, G., Lee, S. & Moon, B. (2012). Dynamic in-page logging for B+-tree index. IEEE Transactions on Knowledge and Data Engineering, 24(7). 1231-1243.

      [15] On, S., Hu, H., Li, Y., & Xu, J. (2010). Flash-optimized B+-tree. Journal of Computer Science and Technology, 25(3). 509-522.

      [16] Wang, Y., Goda, K., & Kitsuregawa, M. (2009). Evaluating Non-In-Place update techniques for flash-based transaction processing systems. In Proceedings of DEXA. ACM.

      [17] Wu, C., Kuo, T., & Chang, L. (2007). An efficient B-tree layer implementation for flash-memory storage systems. ACM Transactions on Embedded Computing Systems, 6(3).

      [18] Wu, G. & He, X. (2012). Delta-FTL: Improving SSD lifetime via exploiting content locality. In Proceedings of European conference on computer systems. ACM.

      [19] Xu,C., Show, L., Chen, G., Yan, C., & Hu, T. (2010). Update migration: An efficient B+ tree for flash storage. In Proceedings of DASFAA. DASFAA.




Article ID: 25762
DOI: 10.14419/ijet.v7i4.15.25762

Copyright © 2012-2015 Science Publishing Corporation Inc. All rights reserved.