Skip to Main Content
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.