Database Tuning: Principles, Experiments, and Troubleshooting Techniques

Appendix A: Real-Time Databases

A.1 Overview

A real-time database is one where some of the transactions must meet timing constraints. For most database applications, these constraints are of a statistical nature (e.g., 90% of all transactions must complete within one second and 99% within five seconds). Such applications are known as soft real time and apply to applications such as telemarketing, financial analysis, and even to certain kinds of industrial control.

Other real-time applications are characterized as "hard" if failure to meet a deadline can lead to catastrophe. The prototypical example is a jet aircraft control system that must keep an "inherently unstable" jet from crashing. Database applications in such domains require main memory databases, simplified locking, and either main memory recovery mechanisms or no recovery at all.

  • Allocate time-critical application data to main memory, either by storing all important data in main memory or by placing some tables in favored buffers. Oracle and DB2 UDB allow database administrators to associate a buffer with specific tables. This is very useful in cases in which all timing constraints concern accesses to some table (or a few tables). If one table is critical, for example, then dedicating a large buffer to that table and a large enough slice of main memory to that buffer ensures that all important data is in main memory.

  • Try to establish predictable lock patterns to avoid deadlocks and to minimize delays resulting from lock conflicts.

    A real-time systems designer has the advantage of knowing what set of transactions is possible.

UNLIMITED FREE
ACCESS
TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: Embedded Systems Software
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.