This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Incremental Recovery in Main Memory Database Systems
December 1992 (vol. 4 no. 6)
pp. 529-540

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] P.A. Bernstein, V. Hadzilacos, and N. Goodman,Concurrency Control and Recovery in Database Systems, Addison-Wesley, Reading, Mass., 1987.
[2] D. Bitton, "The effect of large main memory on database systems," inProc. ACM SIGMOD Conf.(Washington, DC), 1986, pp. 337-339.
[3] B. R. Badrinath and K. Ramamritham, "Semantic-based concurrency control: Beyond commutativity," inProc. Third Int. Conf. on Data Engineering, 1987.
[4] C. Beeri, H.-J. Schek, and G. Weikum, "Multi-level transaction management, theoretical art or practical need?," inProc. Int. Conf. Extending Database Technol., Springer LNCS 303, 1988.
[5] K. M. Chandy, J. C. Brown, C. W. Dissly, and W. R. Uhrig, "Analytic models for rollback and recovery strategies in database systems,"IEEE Trans. Software Eng., vol. SE-1, pp. 100-110, Mar. 1975.
[6] G. Copeland, T. Keller, R. Krishnamurthy, and M. Smith, "The case for safe RAM." inProc. 15th Conf. Very Large Data Bases, Am sterdam, Aug. 1989.
[7] D. J. DeWittet al., "Implementation techniques for main memory databases," inProc. ACM Sigmod(Boston, MA), June 18-21, 1984, pp. 1-8.
[8] K. Elhard and R. Bayer, "A database cache for high performance and fast restart in database systems,"ACM Trans. Database Syst., vol. 9, no. 4, pp. 503-525, Dec. 1984.
[9] M. Eich, "Main memory database recovery," in1986 Proc. ACM-IEEE Fall Joint Computer Conf.,, 1986, pp. 1226-1232.
[10] M. H. Eich, "A classification and comparison of main memory database recovery techniques," inProc. 1987 IEEE Database Engineering Conf., 1987.
[11] J. N. Grayet al., "The recovery manager of the System R database manager, "ACM Comput. Surveys, vol. 13, pp. 223-242, June 1981.
[12] H. Garcia-Molina and K. Salem, "System M: A transaction processing testbed for memory resident data,"IEEE Trans. Knowl. Data Eng., vol. 2, pp. 161-172, 1990.
[13] J. Gray, "Notes on database operation systems," inOperating Systems: An Advanced Course(Lecture Notes in Computer Science, vol. 60) Berlin: Springer-Verlag, 1978.
[14] R. B. Hagmann, "A crash recovery scheme for a memory-resident database system,"IEEE Trans. Comput., vol. C-35, no. 9, pp. 839- 843, Sept. 1986.
[15] T. Haerder and A. Reuter, "Principles of transaction-oriented data-base recovery,"ACM Comput. Surveys, vol. 15, pp. 287-317, Dec. 1983.
[16] R. P. King, H. Garcia-Molina, N. Halim, and C. Polyzois, "Management of a remote backup copy for disaster recovery," Tech. Rep. CS-TR-198- 88, Comput. Sci. Dep., Princeton Univ., 1988.
[17] B. Lampson, "Atomic transactions," inDistributed Systems: Architecture and Implementation(Lecture Notes in Computer Science, vol. 105). Berlin: Springer-Verlag, 1981, pp. 246-265.
[18] T. J. Lehman and M. J. Carey, "A recovery algorithm for a high-performance memory-resident database system," inProc. ACM SIGMOD Conf., San Francisco, CA, May 1987, pp. 104-117.
[19] E. Levy, "Incremental restart," inProc. Seventh Int. Conf. on Data Engineering, Apr. 1991.
[20] B. G. Lindsay, "Single and multi-site recovery facilities," inDistributed Databases. Cambridge, U.K.: Cambridge University, 1980, ch. 10, pp. 247-284.
[21] K. Li and J. Naughton, "Multiprocessor main memory transaction processong," inProc. Int. Symp. Databases Parallel Distributed Syst., ACM, IEEE-CS, Austin, TX, Dec. 1988, pp. 177-187: also, CS-TR-159-88, Comput. Science Dep., Princeton Univ., June 1988.
[22] R. A. Lorie, "Physical integrity in a large segmented database,"ACM Trans. Database Syst., vol. 2, pp. 91-104, Mar. 1977.
[23] E. Levy and A. Silberschatz, "Log-driven backups: A recovery scheme for large memory database systems," inThe Jerusalem Conference of Information Technology (JCIT 90), 1990.
[24] C. Mohan, D. Haderle, B. Lindsay, H. Pirahesh, and P. Schwarz, "ARIES: A transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging," Tech. Rep. RJ 6649 (63960), IBM Res., Feb. 1990.
[25] J. E. B. Moss, B. Leban, and P. K. Chrysanthis, "Finer grained concurrency for the database cache," inProc. Third Int. Conf. on Data Engineering, Los Angeles, 1987, pp. 96-103.
[26] C. Mohan, "Directions in system architectures for high transaction rates," inProc. ACM-SIGMOD 1987 Int. Conf. on Management of Data,, 1987, pp. 6-7.
[27] C. Mohan, "Commit-LSN: A novel and simple method for reducing locking and latching in transaction processing systems," inProc. Sixteenth Int. Conf. on Very Large Databases,, 1990.
[28] C. Mohan, "A cost-effective method for providing improved data availability during DBMS restart recovery after a failure," unpublished manuscript, 1991.
[29] C. Mohan and H. Pirahesh, "ARIES-RRH: Restricted repeating of history in the ARIES transaction recovery method," inProc. Seventh Int. Conf. on Data Engineering,, Apr. 1991.
[30] D. A. Patterson, G. Gibson, and R. H. Katz, "A case for redundant arrays of inexpensive disks (RAID)," inProc. ACM SIGMOD, Chicago, IL, June 1-3, 1988, pp. 109-116.
[31] C. Pu, "On-the-fly, incremental, consistent reading of entire databases.Algorithmica, vol. 1, pp. 271-287, 1986.
[32] R. L. Rappaport, "File structure design to facilitate on-line instantaneous updating," inProc. ACM-SIGMOD 1975 Int. Conf. on Management of Data, , 1975, pp. 1-14.
[33] A. Reuter, "Performance analysis of recovery techniques,"ACM Trans. Database Syst., vol. 9, no. 4, pp. 526-559, Dec. 1984.
[34] K. Salem and H. Garcia-Molina, "Checkpointing memory-resident databases," Tech. Rep., CS-TR-126-87, Comput. Sci. Dep., Princeton University, 1987.
[35] K. Salem and H. Garcia-Molina, "Crash recovery for memory-resident databases," Tech. Rep. CS-TR-119-87, Comput. Sci. Dep., Princeton University, 1987.
[36] Remote Duplicate Facility (RDF), System Management Manual, Tandem Computers Corporation, Mar. 1987.
[37] "DBC/1012 data base computer concepts and facilities," Doc. C02-0001-00, Teradata Corp., 1983.
[38] W. E. Weihl, "Commutativity-based concurrency control for abstract data types,"IEEE Trans. Comput., vol. 37, pp. 1488-1505, Dec. 1988.
[39] G. Weikum, C. Hasse, P. Broessler, and P. Muth, "Multi-level recovery, "ACM PODS, 1990.

Index Terms:
incremental database recovery; checkpointing; online transaction processing systems; memory database systems; page-based incremental restart algorithm; updates; high-level recovery manager; nonvolatile RAM; database management systems; storage management; system recovery; transaction processing
Citation:
E. Levy, A. Silberschatz, "Incremental Recovery in Main Memory Database Systems," IEEE Transactions on Knowledge and Data Engineering, vol. 4, no. 6, pp. 529-540, Dec. 1992, doi:10.1109/69.180604
Usage of this product signifies your acceptance of the Terms of Use.