Eine Einführung in das Kerndatenbankmodul von RDM

Juli 27

Dies ist eine Einführung in die Core Database Engine von RDM. Im Kern werden Daten sicher gespeichert, gesammelt und verwaltet. Die SQL-Engine, die sich über dem Core befindet, bietet einen Standardansatz für die Programmierung auf der Core-Engine.

Was ist die Core Database Engine?

Unter all den glänzenden SELECT-Anweisungen, Chrome-UPDATE-Anweisungen und auffälligen INSERT-Anweisungen ist eine Datenbank im Wesentlichen nur eine Möglichkeit, Daten strukturiert und sicher in einem persistenten Datenspeicher zu speichern. Eine SQL-Engine kann die Handhabung dieser Daten vereinfachen, sodass englischähnliche Anweisungen zum Erstellen, Ändern, Löschen und Anfordern von Daten verwendet werden können. Sobald eine SQL-Anweisung analysiert wurde, damit die Engine weiß, was zu tun ist, muss ein Teil des Datenbankverwaltungssystems (DBMS) wissen, wie aus den physischen Dateien gelesen und in diese geschrieben wird.

In der RDM-Produktfamilie wird diese Schicht als Core Engine bezeichnet. Historisch gesehen kam dieser Teil des Systems lange vor dem SQL-Datenbankmodul an, da frühe Kunden alle C-Programmierer waren, die Strukturen verwendeten und alle ihre Abfragen selbst verwalteten. Als die SQL-Engine auf den Markt kam, gab es keinen Grund, die bereits in der Core-Engine vorhandenen Funktionen neu zu erfinden, sodass die SQL-Datenbank-Engine an der Spitze steht. Jede SQL-Anweisung wird in die Informationen analysiert, die erforderlich sind, um der Core Engine mitzuteilen, was zu tun ist.

Die Core Engine enthält daher alle Funktionen zum Erstellen neuer Datensätze (oder Zeilen in SQL-Begriffen), zum Aktualisieren vorhandener Datensätze, zum Löschen von Datensätzen, zum Suchen von Datensätzen und zum Navigieren von einem Datensatz zum anderen. Darüber hinaus enthält es alle Funktionen zum Verwalten verschiedener Sitzungen, zum Zwischenspeichern der Dateien, zum Behandeln von Transaktionen (Gruppieren von Änderungen in einer logischen Einheit), zum Schutz des Zugriffs auf Datensätze durch Sperren usw. Die Core-Datenbank-Engine ist der Mut der RDM-Datenbankverwaltungssystem.

Kerndatenbank-Engine-Teile

Vor Version 10.0 war die Core-Engine im Wesentlichen ein Monolith - alles befand sich im Prozessbereich der Anwendung - mit Ausnahme der Sperrung, die von einer separaten Lock Manager-Anwendung verwaltet wurde. Ab Version 10.0 wurde die Core Engine in zwei Komponenten aufgeteilt - die Runtime Engine und das TFS (Transactional File System). Das TFS kapselt alle Transaktions- und Dateiverarbeitungsfunktionen sowie das Sperren aus der ursprünglichen Lock Manager-Anwendung, weiß jedoch nichts über die Struktur der Daten. Die Laufzeit hingegen weiß alles über die Struktur der Daten, verlässt sich jedoch auf das TFS, um Daten abzurufen und Daten in die Datenbankdateien zu stellen.

Denken Sie an die weltweite Schifffahrtsbranche. Früher musste jeder versendete Artikel separat verwaltet werden. Aber dann kamen Versandcontainer in Standardgrößen und Frachtschiffe, Züge und Lastwagen, die Versandcontainer verwalten konnten, und die Dinge wurden viel effizienter. Das TFS ist wie die Schiffe, Züge und Lastwagen. Es nimmt ganze Datenseiten (wie Versandbehälter) auf und verarbeitet sie, ohne wissen zu müssen, was darin enthalten ist, während die Laufzeit der Teil des Codes ist, der die einzelnen Datensätze und Felder in diese Seiten einfügt (Verpacken eines Versandbehälters).

Verschiedene TFS-Geschmacksrichtungen

Die Laufzeit-Engine verarbeitet dann die Anforderungen des Benutzers, verarbeitet die spezifischen Daten, die der Benutzer benötigt, ruft Seiten ab und übergibt Seiten an das TFS. Dies bietet die Möglichkeit, mehrere verschiedene TFS-Typen mit unterschiedlichen Fähigkeiten zu haben.

Derzeit unterstützt die RDM-Produktfamilie drei verschiedene TFS-Versionen: TFST, TFSR und TFSS. Im Großen und Ganzen ist TFST die volle Transaktionsfunktionalität im selben Prozess wie die Laufzeit, TFSR ist die volle Transaktionsfunktionalität, wobei sich die TFS-Funktionalität in einem separaten Prozess befindet, und TFSS ist eine reduzierte Funktionalität (und daher schneller) und für den Einzelbenutzerzugriff ausgelegt.

Die TFST-Version enthält alle Hauptfunktionen, einschließlich unterstützender Transaktionen und Sperren. Es wurde für Situationen entwickelt, in denen eine einzelne Anwendung (möglicherweise mit mehreren Threads) auf die Datenbank zugreift. In Situationen, in denen mehrere Anwendungen gleichzeitig auf die Datenbank zugreifen müssen, kann der TFSR verwendet werden. In diesem Fall wird ein zentraler tfserver-Prozess ausgeführt (der eine Kopie des TFST enthält), und der von der Anwendung verwendete TFSR sendet seine Anforderungen zur Verarbeitung an diesen tfserver. Die TFSS-Option ist nützlich für einfache Anwendungen, die Einzelbenutzerzugriff auf die Datenbank ohne vollständige Transaktionsunterstützung benötigen.

Fazit

Das SQL-Datenbankmodul für RDM basiert auf einer voll funktionsfähigen, konfigurierbaren Core-Engine. Diese Engine kann abhängig von den Anforderungen der jeweiligen Anwendung konfiguriert werden.

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.