Incremental Recovery in Main Memory Database Systems

Recovery activities, like checkpointing and restart, in traditional database management systems are performed in a quiescent state where no transactions are active. This approach impairs the performance of online transaction processing systems, especially when a large volatile memory is used. An incremental scheme for performing recovery in main memory database systems (MMDBs), in parallel with transaction execution, is presented. A page-based incremental restart algorithm that enables the resumption of transaction processing as soon as the system is up is proposed. Pages are recovered individually and according to the demands of the post-crash transactions. A method for propagating updates from main memory to the backup database on disk is also provided. The emphasis is on decoupling the I/O activities related to the propagation to disk from the forward transaction execution in memory. The authors also construct a high-level recovery manager based on operation logging on top of the page-based algorithms. The proposed algorithms are motivated by the characteristics of large MMDBs, and exploit the technology of nonvolatile RAM. >

[1]  Robert B. Hagmann A Crash Recovery Scheme for a Memory-Resident Database System , 1986, IEEE Transactions on Computers.

[2]  Hamid Pirahesh,et al.  ARIES-RRH: restricted repeating of history in the ARIES transaction recovery method , 1991, [1991] Proceedings. Seventh International Conference on Data Engineering.

[3]  Rudolf Bayer,et al.  A database cache for high performance and fast restart in database systems , 1984, TODS.

[4]  Michael J. Carey,et al.  A recovery algorithm for a high-performance memory-resident database system , 1987, SIGMOD '87.

[5]  Hans-Jörg Schek,et al.  Multi-Level Transaction Management, Theoretical Art or Practical Need ? , 1988, EDBT.

[6]  Michael Stonebraker,et al.  Implementation techniques for main memory database systems , 1984, SIGMOD '84.

[7]  Panos K. Chrysanthis,et al.  Finer grained concurrency for the database cache , 1987, 1987 IEEE Third International Conference on Data Engineering.

[8]  K. Mani Chandy,et al.  Analytic models for rollback and recovery strategies in data base systems , 1975, IEEE Transactions on Software Engineering.

[9]  Margaret H. Eich A classification and comparison of main memory database recovery techniques , 1987, 1987 IEEE Third International Conference on Data Engineering.

[10]  Eliezer Levy Incremental Restart , 1991, ICDE 1991.

[11]  Eliezer Levy Incremental restart (database management) , 1991, [1991] Proceedings. Seventh International Conference on Data Engineering.

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

[13]  Jim Gray,et al.  Notes on Data Base Operating Systems , 1978, Advanced Course: Operating Systems.

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

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

[16]  B. R. Badrinath,et al.  Semantics-based concurrency control: Beyond commutativity , 1987, 1987 IEEE Third International Conference on Data Engineering.

[17]  Butler W. Lampson,et al.  Distributed Systems - Architecture and Implementation, An Advanced Course , 1981, Advanced Course: Distributed Systems.

[18]  Raymond A. Lorie,et al.  Physical integrity in a large segmented database , 1977, TODS.

[19]  Randy H. Katz,et al.  A case for redundant arrays of inexpensive disks (RAID) , 1988, SIGMOD '88.

[20]  Hector Garcia-Molina,et al.  Checkpointing memory-resident databases , 1989, [1989] Proceedings. Fifth International Conference on Data Engineering.

[21]  Hector Garcia-Molina,et al.  Management of a remote backup copy for disaster recovery , 1991, TODS.

[22]  Jeffrey F. Naughton,et al.  Multiprocessor Main Memory Transaction Processing , 1988, Proceedings [1988] International Symposium on Databases in Parallel and Distributed Systems.

[23]  Andreas Reuter,et al.  Performance analysis of recovery techniques , 1984, TODS.

[24]  Hector Garcia-Molina,et al.  System M: A Transaction Processing Testbed for Memory Resident Data , 1990, IEEE Trans. Knowl. Data Eng..

[25]  C. Mohan Directions in System Architectures for High Transaction Rates , 1987, SIGMOD Conference.

[26]  Butler W. Lampson,et al.  Atomic Transactions , 1980, Advanced Course: Distributed Systems.

[27]  William E. Weihl,et al.  Commutativity-based concurrency control for abstract data types , 1988, [1988] Proceedings of the Twenty-First Annual Hawaii International Conference on System Sciences. Volume II: Software track.

[28]  Dina Bitton Panel: The effect of large main memory on database systems , 1986, SIGMOD '86.

[29]  Abraham Silberschatz,et al.  Log-driven backups: A recovery scheme for large memory database systems , 1990, Proceedings of the 5th Jerusalem Conference on Information Technology, 1990. 'Next Decade in Information Technology'.

[30]  Gerhard Weikum,et al.  Multi-level recovery , 1990, PODS.

[31]  Robert L. Rappaport File structure design to facilitate on-line instantaneous updating , 1975, SIGMOD '75.

[32]  C. Mohan,et al.  A Cost-Effective Method for Providing Improved Data Availability During DBMS Restart Recovery After a Failure , 1993, VLDB.

[33]  Ravi Krishnamurthy,et al.  The Case For Safe RAM , 1989, VLDB.

[34]  Margaret H. Eich Main memory database recovery , 1986 .