Was ist eine Echtzeitdatenbank?
Eine Echtzeitdatenbank ähnelt in gewisser Weise einer herkömmlichen Datenbank. Beide dienen zum Speichern von Daten, und beide müssen Berechnungen ausführen. Die Geschwindigkeit, mit der Berechnungen abgeschlossen werden müssen, und die Anzahl der Berechnungen unterscheiden sich jedoch erheblich. Eine Echtzeitdatenbank soll Berechnungen in Echtzeit durchführen und dient nicht dazu, Informationen für lange Zeiträume aufzubewahren. Das Entwerfen von Echtzeitdatenbanken erfordert viel mehr Einschränkungen in Bezug auf die Größe der Datenbank und die Größe der Berechnungen sowie viele andere Überlegungen und Faktoren, um sicherzustellen, dass Berechnungen innerhalb einer bestimmten Zeit ausgeführt werden. Normalerweise gibt es unterschiedliche Fristen, sodass die Datenbank Funktionen priorisieren kann.
In herkömmlichen Datenbanken werden Daten über einen langen Zeitraum gespeichert, und obwohl auf die Daten Funktionen und Berechnungen angewendet werden können, sind die Daten weitgehend persistent. Eine Echtzeitdatenbank ist das Gegenteil. Die Daten sind größtenteils veränderlich und nur sehr wenig konstant, und die Datenbank muss in der Lage sein, sehr viele Berechnungen durchzuführen. Dies bedeutet, dass eine herkömmliche Datenbank für eine Echtzeitanwendung nicht funktioniert, da das Design völlig anders ist.
Das vielleicht beste Beispiel für eine Echtzeitdatenbank ist eine Börsendatenbank. Diese Datenbank muss in der Lage sein, ihre Werte basierend auf einer Vielzahl von Faktoren ständig zu ändern, und muss genau sein, damit Unternehmen und Investoren von Transaktionen profitieren. Weitere Beispiele für Echtzeitdatenbanken sind Luftsteuerungsdatenbanken, medizinische Datenbanken und Datenbanken für wissenschaftliche Analysen.
Beim Entwurf einer herkömmlichen Datenbank erstellt der Programmierer ein Framework, in dem Informationen gespeichert werden können, und programmiert eine relativ geringe Anzahl von Einschränkungen. Echtzeitdatenbanken müssen eine sehr große Anzahl von Einschränkungen aufweisen, um die Menge an Informationen und die Menge an Transaktionen, die sie ausführen können, zu begrenzen, damit die Berechnungen schnell durchgeführt werden können. Dies liegt daran, dass die Geschwindigkeit der Datenbank von der Menge der gespeicherten Daten und der Menge der gleichzeitig arbeitenden Funktionen abhängt. Die meisten Echtzeitdatenbanken sind eigenwillig oder können nicht in andere Datenbanken integriert werden, da sie für ein Thema hochspezialisiert sind.
Um zeitliche Einschränkungen oder zeitbasierte Berechnungsanforderungen zu erfüllen, gibt es drei Prioritätsstufen für Funktionen: Hart, Fest und Weich. Dies geschieht in der Reihenfolge von schnell zu langsam, sodass die Datenbank weiß, woran sie jetzt arbeiten muss und was warten kann. Während alle Funktionen auf die Priorität "Fest" gesetzt werden können, kann dies dazu führen, dass eine große Echtzeitdatenbank aufgrund von Überlastungen abstürzt.