Database management for real-time applications
A growing number of applications require time-constrained access to data. For these applications, the timeliness of the data is part of the correctness criteria. Timing constraints can be derived from the temporal consistency requirements of the application and must be enforced by the DBMS. Examples of applications that require the processing of varying quantities of data with timing constraints range from chemical and power plant control, to network management, air traffic control, and multimedia systems.
The tutorial covers motivation and applications requiring real-time data management, and introduces the basic notions. We discuss the scheduling problem as one of the core problems in real-time systems, introduce a reference model and discuss the fundamental issues and alternatives in scheduling a variety of resources, ranging from CPU to I/O and data. We analyze the issues involved in real-time transaction processing and the trade-offs between flexibility and predictability. We address the issues of overload management as one of the critical components of real-time systems and propose alternatives for flexible overload management based on contingency plans. The tutorial concludes with an analysis of required operating system support and a discussion of what capability is actually offered by today's real-time operating systems. We conclude with a perspective of what is required to re-engineer a DBMS to meet the real-time requirements of modern applications.