9 Attribute von Live-Echtzeitdatenbanken

Januar 15

Raima-Logo auf grauem Hintergrund

Was ist eine Echtzeitdatenbank?

Eine Echtzeitdatenbank ist ein Datenbanksystem, das Daten-Workloads verarbeiten kann, die sich in ständigem Fluss befinden und äußerst zeitkritisch sind. Im Gegensatz zu herkömmlichen Datenbanken, die Daten enthalten, die persistent sind und sich viel seltener ändern. 

Echtzeitverarbeitung bedeutet, dass Transaktionen sehr schnell verarbeitet werden, sodass die Organisation oder andere integrierte Systeme sofort auf die Daten reagieren können. Echtzeitdatenbanken werden in der Regel für Buchhaltung, Bankwesen, Recht, Krankenakten, Multimedia, Prozesskontrolle, Reservierungssysteme und wissenschaftliche Datenanalyse verwendet.


 

Wie funktioniert eine Echtzeitdatenbank?

Eine Echtzeitdatenbank, auch als Live-Datenbank bezeichnet, sind herkömmliche Datenbanken mit erweiterten Leistungs- und Durchsatzfunktionen. Sie wenden zeitliche Einschränkungen auf Daten an, um anzugeben, zu welchem Zeitpunkt die Daten noch gültig sind (auch als zeitliche Gültigkeit bezeichnet). In vielen Fällen aktualisiert ein Sensor oder Feed von außen die Daten ständig mit neuen, aktuell relevanten Daten.

Eine Echtzeitdatenbank muss mehrere strenge Kriterien erfüllen:

  • Behandeln Sie Abfragen, die äußerst zeitkritisch sind
  • Geben Sie nur zeitlich gültige Daten zurück
  • Unterstützt die Prioritätsplanung für Abfragen und Antworten

In a real time database system, there is a significant concern as to how to record the exact time at which data was recorded and queries were received-detailed timestamps provide a clear time reference. Based on these timestamps, the system must ensure realtime database queries are processed consistently under the above constraints. 

Eine Live-Datenbank muss sich auch mit einer Situation befassen, in der eine Echtzeit-Datenbankabfrage nicht schnell genug beantwortet werden kann. Wenn Daten beispielsweise zu spät bereitgestellt werden, können sie mit einem Flag versehen werden, das den Zeitpunkt der Antwort angibt, sodass der Bediener prüfen kann, ob die Antwort noch relevant ist oder nicht.

Die Forschung und Entwicklung von Echtzeitdatenbanken wird in den kommenden Jahren voraussichtlich zunehmen, wobei die Zahl der Echtzeitanwendungen exponentiell zunimmt. Videoanrufe sind mittlerweile weltweit allgegenwärtig. Messaging- und soziale Anwendungen wie WhatsApp und Facebook haben Milliarden von Nutzern, und es besteht eine wachsende Nachfrage nach Live-Streaming von hochauflösendem Video und Audio mit Echtzeit-Eigenschaften. Neue Protokolle und Technologien werden entstehen, um Echtzeit-Transaktionen effizienter zu verarbeiten.

 

9 Eigenschaften von Live-Echtzeitdatenbanken

The burden on software in a “live” information system is simply to keep up. Processing must occur at a rate faster than the activity. It must represent the state of a system within a certain time tolerance. A stock quote should be only a few seconds old, but a temperature reading from an elementary school can be 15 minutes old. Both are considered “real time” data.

Datenbanksysteme, die die Determinismusanforderungen für Echtzeitsysteme erfüllen, müssen normalerweise vereinfachte Versionen sein, bei denen Abfragen und Aktualisierungen einfach und begrenzt sind. Während sich Technologie und Algorithmen in diesem Bereich ständig verbessern, gibt es immer noch nur wenige Datenbanksysteme, die wirklich hohe Echtzeitanforderungen erfüllen.

1. Leistung

“Keeping up” with live activity is the requirement of the database system together with the software that captures and/or displays the data. When there are 100 events/minute, and the system can handle 1000 events/minute, then everything’s fine. But what if events average 2000/minute with bursts of over 10,000? In this case, a system that is three times faster is required. Higher performing database management systems will be able to solve more real time problems.

2. Historische Aufzeichnungen

Wenn Sensoren gelesen werden und eine Darstellung der Daten angezeigt wird, ist möglicherweise keine Datenbank erforderlich. Wenn jedoch die Live-Datenanzeige protokolliert werden muss, damit historische Ansichten oder Zusammenfassungen erstellt werden können, muss die Datenbank in der Lage sein, diese Daten rechtzeitig zu erfassen und zu speichern, um den zukünftigen Zugriff zu erleichtern.

3. Beziehungen pflegen

Das Überwachen von Live-Daten umfasst häufig das Auslösen von Alarmen oder das Auslösen zusätzlicher Aktionen, wenn bestimmte Bedingungen erfüllt sind. Diese Bedingungen können das Vorhandensein oder Fehlen von Daten in der Datenbank beinhalten, daher müssen schnelle Suchvorgänge durchgeführt werden. Sie können auch von Verbindungen zwischen Datensätzen in der Datenbank abhängen. Das Datenbanksystem muss Zuordnungen und Suchvorgänge verwalten, die schnell erstellt oder abgefragt werden können.

4. Anstehen

Assuming that inputs into a live system are irregular, as they often are, the system must handle bursts of events that can be processed soon, where “soon” is during a quieter period. Then it is likely that processing the events in order is important. So a queuing model that maintains order in the backlog will satisfy this requirement.

5. Haltbarkeit

Unter der Annahme, dass die Daten nicht vorübergehend sind, ist das Datenbanksystem vorhanden, um die Daten sicher zu halten, was normalerweise bedeutet, dass sie auf ein Festplatten- oder Flash-Laufwerk übertragen werden. Die besten Systeme tun dies auf eine Weise, die wiederhergestellt werden kann, was bedeutet, dass ein Computerabsturz keine Beschädigung der Datenbank verursacht.

6. Batching

Transaktionen, die Daten auf ein dauerhaftes Medium schreiben, sind die zeitaufwändigste Funktion in einem Datenbanksystem. Es ist möglicherweise nicht immer wichtig, für jedes Ereignis eine Transaktion durchzuführen. In diesem Fall kann eine Transaktion 2 bis 200 Ereignisse gleichzeitig festschreiben, was bedeutet, dass das Datenbanksystem weitaus weniger Ressourcen verbraucht und somit schneller arbeitet. Die Stapelverarbeitung hängt von der Toleranz für Datenverlust (im Falle eines Absturzes) und den Aktualitätsanforderungen der Daten ab. Wenn beispielsweise eine Anzeige der Live-Daten alle fünf Sekunden aktualisiert wird, spielt es keine Rolle, ob die 300 Ereignisse, die in den letzten fünf Sekunden aufgetreten sind, mit 300 Transaktionen zu je 1 Ereignis oder 3 Transaktionen zu je 100 festgeschrieben wurden.

7. Konditionierungsdaten

One technique to allow greater volumes of data to be archived is to reduce, or “condition” the data before storing it. This may involve filters that ignore parts of it, or translations that reduce larger representations into smaller ones. Both of these techniques may require fast indexing of previously stored data.

8. Nicht störende Abfragen

If a system is strained to capture and store event data, it may be slowed down even more when the data must be read for display purposes. Techniques for reading data without locks are needed to prevent this. Two common techniques are known as MVCC and dirty-reading. MVCC stands for “Multi Version Concurrency Control” and creates a virtual snapshot of a database so that a consistent query can be made. Dirty reading is even faster when it is not necessary to rely upon the consistency of relationships between records in a database.

9. Aggregation

Another common computing model has multiple “collector” computers that capture and store event data locally, then pass it on to an aggregation site. The common technology to solve this problem is replication. This means that the changes to the local databases are also made to the aggregate database. This usually implies that the computers are connected through networking.

Meaningful handling of live, time-sensitive data is the new real time. The old hard real time systems are still very important and pervasive, but cannot use many of today’s open source or commercial database management systems.

 

Beispielanwendungen für Echtzeitdatenbanken 

Echtzeitanwendungen (RTAs) sind Anwendungen, die innerhalb des unmittelbaren oder aktuellen Zeitrahmens der Benutzersuche ausgeführt werden. Die Verzögerung muss kleiner als ein vordefinierter Wert sein. 

RTAs are evaluated using a metric called worst-case execution time (WCET)-this is the maximum time allowed for a task, given a specific hardware configuration. Applications with a WCET of several seconds or less are considered real time. The process of operating under real time constraints is known as real-time computing (RTC).

Hier einige Beispiele für RTAs:

  • Voice over Internet Protocol (VoIP)
  • Messaging-, Chat- und Sofortnachrichtenanwendungen (IM)
  • Videokonferenz
  • Online Spielen
  • Aktienhandel
  • E-Commerce-Transaktionen mit mehreren Bietern

 

Raima Echtzeit-Datenbanklösung

Raima Database Manager (oder RDM) ist ein ACID-kompatibles Embedded-Datenbank-Management-System, das für die Verwendung in Embedded-System-Anwendungen entwickelt wurde. RDM wurde für die Verwendung von Multi-Core-Computern, Netzwerken (lokal oder weiträumig) sowie der Speicherverwaltung auf der Festplatte oder im Arbeitsspeicher entwickelt. RDM bietet Unterstützung für mehrere APIs (Application Programming Interfaces): C-API auf niedriger Ebene, C ++ und SQL (native, ODBC, JDBC, ADO.NET und REST). RDM ist sehr portabel und unter Windows, Linux, Unix und verschiedenen Echtzeit- oder eingebetteten Betriebssystemen verfügbar. Eine Quellcodelizenz ist ebenfalls verfügbar.

RDM unterstützt sowohl Nicht-SQL-Funktionen (Datenbankzugriff auf Datensatz- und Cursorebene) als auch Entwurfs- und Manipulationsfunktionen für SQL-Datenbanken. Die Nicht-SQL-Funktionen sind wichtig für die Umgebungen mit den meisten Ressourcenbeschränkungen für eingebettete Systeme, in denen eine hohe Leistung auf kleinstem Raum Priorität hat. SQL ist wichtig, um eine weithin bekannte Standardmethode für den Datenbankzugriff bereitzustellen, die für die meisten Umgebungen mit eingebetteten Systemen ausreichend klein ist.

 

Get notified about new RDM updates

Be the first to know about new Raima Database Manager updates when they go live, use cases, industry trends and more.