Flag Commit: Supporting Efficient Transaction Recovery in Flash-Based DBMSs

Owing to recent advances in semiconductor technologies, flash disks have been a competitive alternative to traditional magnetic disks as external storage media. In this paper, we study how transaction recovery can be efficiently supported in database management systems (dbmss) running on slc flash disks. Inspired by the classical shadow-paging approach, we propose a new commit scheme, called flagcommit, to exploit the unique characteristics of flash disks such as fast random read access, out-place updating, and partial page programming. To minimize the need of writing log records, we embed the transaction status into flash pages through a chain of commit flags. Based on flagcommit, we develop two recovery protocols, namely commit-based flag commit (cfc) and abort-based flag commit (afc), to meet different performance needs. They are flexible to support no-force buffer management and fine-grained concurrency control. Our performance evaluation based on the tpc-c benchmark shows that both cfc and afc outperform the state-of-the-art recovery protocols.

[1]  Peiquan Jin,et al.  CFDC: a flash-aware replacement policy for database buffer management , 2009, DaMoN '09.

[2]  Rina Panigrahy,et al.  Design Tradeoffs for SSD Performance , 2008, USENIX ATC.

[3]  Hyojun Kim,et al.  BPLRU: A Buffer Management Scheme for Improving Random Writes in Flash Storage , 2008, FAST.

[4]  Philippe Bonnet,et al.  uFLIP: Understanding Flash IO Patterns , 2009, CIDR.

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

[6]  Siwoo Byun Transaction Management for Flash Media Databases in Portable Computing Environments , 2006, Journal of Intelligent Information Systems.

[7]  Gregory R. Ganger,et al.  The DiskSim Simulation Environment Version 4.0 Reference Manual (CMU-PDL-08-101) , 1998 .

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

[9]  Jianliang Xu,et al.  DigestJoin: Exploiting Fast Random Reads for Flash-Based Joins , 2009, 2009 Tenth International Conference on Mobile Data Management: Systems, Services and Middleware.

[10]  Dimitrios Gunopulos,et al.  Microhash: an efficient index structure for fash-based sensor devices , 2005, FAST'05.

[11]  Jim Gray,et al.  Flash Disk Opportunity for Server Applications , 2008, ACM Queue.

[12]  Sang-Won Lee,et al.  Advances in flash memory SSD technology for enterprise database applications , 2009, SIGMOD Conference.

[13]  Red Hat JFFS : The Journalling Flash File System , 2001 .

[14]  Goetz Graefe,et al.  Query processing techniques for solid state drives , 2009, SIGMOD Conference.

[15]  Tei-Wei Kuo,et al.  An efficient B-tree layer implementation for flash-memory storage systems , 2007, TECS.

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

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

[18]  Alfons Kemper,et al.  Databases and transaction processing: an application-oriented approach , 2002, SGMD.

[19]  S. Mlc,et al.  SLC vs . MLC : An Analysis of Flash Memory Examining the Quality of Memory : Understanding the Differences between Flash Grades , 2009 .

[20]  Hiroshi Motoda,et al.  A Flash-Memory Based File System , 1995, USENIX.

[21]  Kenneth A. Ross,et al.  Modeling the performance of algorithms on flash memory devices , 2008, DaMoN '08.

[22]  Raghu Ramakrishnan,et al.  Database Management Systems , 1976 .

[23]  Lidong Zhou,et al.  Transactional Flash , 2008, OSDI.

[24]  Tei-Wei Kuo,et al.  Real-time garbage collection for flash-memory storage systems of real-time embedded systems , 2004, TECS.

[25]  Li-Pin Chang,et al.  Design and implementation of an efficient wear-leveling algorithm for solid-state-disk microcontrollers , 2009, TODE.

[26]  Irving L. Traiger,et al.  The Recovery Manager of the System R Database Manager , 1981, CSUR.

[27]  Suman Nath,et al.  Online maintenance of very large random samples on flash storage , 2009, The VLDB Journal.

[28]  Andreas Reuter,et al.  Principles of transaction-oriented database recovery , 1983, CSUR.

[29]  Sang-Won Lee,et al.  Design of flash-based DBMS: an in-page logging approach , 2007, SIGMOD '07.

[30]  Tei-Wei Kuo,et al.  Efficient initialization and crash recovery for log-based file systems over flash memory , 2006, SAC.

[31]  Hamid Pirahesh,et al.  ARIES: a transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging , 1998 .

[32]  Sivan Toledo,et al.  Algorithms and data structures for flash memories , 2005, CSUR.