Chair of automation / computer science

Real-Time Databases

In time critical systems various data points arise, which should be saved and later retrievedagain – a database system is the obvious solution. To guarantee a seamless operation of aprocess, it can be necessary to aggregate data over a defined time window or to recover it,all while the process is running.

In such a case, the database system has to fulfill a new requirement: It has to receive andstore data, process it and send out results, again all in real-time. A challenging problemarises if the underlying process doesn‘t only require soft, but hard real-time:

Planning must be performed always for the worst-case: Theoretically, all possible database requests could come in at the same time while still requiring to be completed in their respective deadlines.

Possible measures in this case can be for example

  • all database queries are planned ahead, including the amount of affected data
    only data-content is flexible, cf. prepared statements
  • introducing additional rules (constraints)
    e.g. table X contains no more than 21 differing values in column ’databus’
  • high parallelization of queries (requires resolution of conflicting writes)

One problem remains: For hard real-time, the hardware/computing power has to be suf-ficient for the worst case, which on the other hand rarely occurs. This problem can‘t besolved as a matter of principle, therefore is seems worthwhile to take another path:

Queries that are non-time-critical or soft real-time could be executed in the „breaks“,respecitvely in times of low utilization. It is important however, that the hardware is readyin hard real-time for executing hard real-time queries as soon as needed.

Weitere Infos über #UniWuppertal: