Achieving bounded and predictable recovery using real-time logging

Real-time databases are increasingly being used as an integral part of many computer systems. During normal operation, transactions in real-time databases must be executed in such a way that transaction timing and data time validity constraints can be met. Real-time databases must also prepare for possible failures and provide fault tolerance capability. Principles for fault tolerance in real-time databases must take timing requirements into consideration and are distinct from those for conventional databases. We discuss these issues in this paper and describe a logging and recovery technique that is time-cognizant and is suitable for an important class of real-time database applications. The technique minimizes normal runtime overhead caused by logging and has a predictable impact on transaction timing constraints. Upon a failure, the system can recover critical data to a consistent and temporally valid state within predictable time bounds. The system can then resume its major functioning, while non-critical data is being recovered in the background. As a result, the recovery time is bounded and shortened. Our performance evaluation via simulation shows that logging overhead has a small effect on missing transaction deadlines while adding recovery capability. Experiments also show that recovery using our approach is 3 to 6 times faster than traditional recovery.

[1]  Don Towsley,et al.  Scheduling Access to Temporal Data in Real-Time Databases , 1997 .

[2]  Jörgen Hansson,et al.  Misconceptions About Real-Time Databases , 1999, Computer.

[3]  Jing Huang Recovery techniques in real-time main memory databases , 1996 .

[4]  Marc H. Scholl,et al.  Transactional information systems: theory, algorithms, and the practice of concurrency control and recovery , 2001, SGMD.

[5]  John P. Scheible A Survey of Storage Options , 2002, Computer.

[6]  Kwei-Jay Lin,et al.  A semantic-based concurrency control protocol for real-time transactions , 1996, Proceedings Real-Time Technology and Applications.

[7]  Azer Bestavros,et al.  Timeliness via speculation for real-time databases , 1994, 1994 Proceedings Real-Time Systems Symposium.

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

[9]  Sang H. Son,et al.  Database Recovery , 1998, The Kluwer International Series on Advances in Database Systems.

[10]  Tei-Wei Kuo,et al.  The Impacts of Write-Through Procedures and Checkpointing on Real-Time Concurrency Control , 2003, Comput. J..

[11]  Donald F. Towsley,et al.  Data Placement, Logging and Recovery in Real-Time Active Databases , 1995, ARTDB.

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

[13]  Doug Locke,et al.  Real-Time Databases: Real-World Requirements , 1997 .

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

[15]  Prashant J. Shenoy,et al.  Rules of thumb in data engineering , 2000, Proceedings of 16th International Conference on Data Engineering (Cat. No.00CB37073).

[16]  Vijay Kumar,et al.  Recovery mechanisms in database systems , 1997 .