Select Page

Facts about hard real-time database management systems.

Disclosure
This page is part of a commercial Website. We believe there is a lack of recent research about hard real-time database management systems, and so have tried to compile it here in a neutral way.  We have produced a hard real-time DBMS and are therefore disqualified from editing or adding research to the page on Wikipedia, even though almost all the research and references are over 20 years old.

If you believe that something on this page needs to be changed, or if you have something to add, please email us and we will review your suggestion.

Important definitions

Real-time database

“Real-time database” has come to have two meanings. The first and, so far, the predominant use of the term refers to a database system which uses streaming technologies to handle workloads for which the state changes in real-time as a reflection of real-world events. This differs from traditional databases containing persistent data, mostly unaffected by time. In this context, real-time processing means that a transaction is processed fast enough for the result to come back and be acted on right away. Such real-time databases are useful for fraud detection, recommendation engines, audience targeting, and pricing strategies.

The other use of the term “real-time database” embodies a more strict definition of real-time. A hard real-time database system is one that is time cognizant: It is aware of processing deadlines and offers transaction schedulers that enforce those deadlines and are adaptable to varying workloads (e.g., works equally well with periodic and aperiodic tasks) and changing deadlines and task priorities. This is the only type of database management system that, when used with a RTOS, is acceptable for use in mission- and safety-critical systems.

Deterministic database

“Deterministic database management system” has come to have two meanings.

A deterministic real-time database system guarantees that transactions complete (commit or rollback) within a set deadline. Transactions that are destined to be “late” are identified, interrupted and forced to initiate rollback in time to satisfy set deadlines. The key is to ensure that all database runtime internals are in a “recoverable” condition.

In the context of distributed systems, deterministic can mean that changes are organized up front, and then applied. For example, geographically distributed replicas (or shards) can be given the same input and be guaranteed to produce the same result, making data replication (and replay) easier to implement.

Papers

Shared Data in Asymmetric Multiprocessing (AMP) Configurations

Heterogeneous multi-core systems are becoming ever more popular for automotive and industrial applications due to their high performance and energy efficiency. This paper will discuss the design and challenges of a shared data implementation for AMP configurations, explore implementation options to synchronize access to shared data, and discuss example use cases.

i

Open the white paper in your browser

Real-time Deterministic Database Management

This paper will discuss the objectives of deterministic, predictable database management in the context of real-time application design. We will introduce extensions to a conventional database management systems (DBMS) transaction scheduler that add semantics, enforce database transaction priorities and deadline scheduling. We will then focus on the practical aspects of the design and demonstrate its use in several real-life application patterns in a variety of real-time operating system (RTOS) environments.

i
Open the white paper in your browser

Articles

On Real-time Databases. Q&A with Andrei Gorine and Steve Graves

October 9, 2023  “Another rapidly evolving concept is real-time mixed criticality systems that integrate components with different levels of criticality onto a single computing platform.” ODBMS.org.

The Data in Hard Real-time SCADA Systems Lets Companies Do More with Less

August 11, 2023. The latest database technology allows the capture and utilization of previously out of reach data found in mission-critical SCADA systems. Read the article in Automation.com

Latest embedded DBMS supports asymmetric multiprocessing systems

May 24,2023.  McObject’ latest eXtremeDB/rt 1.2 release supports heterogenous architectures with different CPU architectures executing different operating systems and have a large amount of shared memory.  Read the Embedded.com article.

Real-time database systems are not actually real-time. Unless they are.

January 31, 2023.  A blog post by McObject CEO Steve Graves. Many real-time systems need a database. However, choosing one can be challenging depending on performance requirements. Find the full text at ElectronicDesign.com

Soft v Hard Real-time Systems

November 4, 2022.  This short article emphasizing distinctions important to developers of safety- and mission-critical hard real-time systems.  Read more at EmbeddedComputing.com  

What is and what isn’t a hard real-time database system?

May 29, 2022 blog post. Surprisingly, it’s not as simple as it sounds, but perhaps we could start by defining a few terms.  Learn more at DB-Engines.com

Embedded Databases in Real-Time Systems

March 14, 2022, Real-time systems are evolving at an incredible rate. Real-time systems used to be relatively simple, like the anti-lock braking systems in aircraft and, later, automobiles. Today, real-time systems are more complex. Advanced Driver Assistance Systems (ADAS) are kind of the poster child.  Learn more in the article in Circuit Cellar.

Keeping A Mission-Critical Deterministic DBMS On Time

Open-source and commercial database management systems (DBMSs) have been used in embedded systems for more than 20 years. For the most part, developers don’t even debate whether to buy or build their own DBMS for embedded systems; that component is almost always bought.  Get the news from EmbeddedComputing.com

Real-time tasks need real-time data

Hard real-time systems are following the same trajectory as embedded and soft real-time systems: They’re more elaborate systems that are being required to do more with more data that’s more complex. Historically, real-time system developers have had to separate database management from hard real-time tasks, do without, or develop their own real-time database management.  Read the Wind River blog.

LinkedIn groups we like

Request an addition or an edit

The purpose of this page is to help developers.  Constructive suggestions are welcome.

13 + 13 =