Transbase® Architektur & Implementierung

Transbase® ist für unterschiedliche Betriebsarten konzipiert:

  • als Client-Server-System für den Betrieb über ein Netzwerk
  • als embedded Database für mobile Apps mit lokaler Bündelung von Client und Server
  • als IoT Datenbank mit Edge-Computing am Endgerät (z.B. Raspberry Pi®)
Transbase Architektur - Cache, Kernel, Multiplexer, Applikation, Treiber, TCI, JDBC, ODBC, .NET

Aufbau und Funktionsweise:

Der Transbase® Server ist als Multiplexer realisiert, der für die Bearbeitung der Client-Anfragen nach Bedarf Transbase® Kernel-Prozesse zuteilt. Diese Zuteilung besteht für die gesamte Transaktion.

Die einzelnen Kernel-Prozesse verarbeiten die Anfragen der Applikationsprogramme und greifen dabei über einen gemeinsamen, globalen Datenbank-Cache auf den Datenspeicher zu. Dadurch können Schreib- und Lesezugriffe transaktionsübergreifend optimiert werden.

Durch seine modulare Architektur ist Transbase® sehr gut skalierbar und passt sich hervorragend an die Möglichkeiten der gegebenen Hardware an. Durch die parallelisierte Verarbeitung einzelner Anfragen innerhalb eines Transbase Kernels wird zur optimalen Nutzung der vorhandenen Ressourcen unterstützt.

Unterstützung unterschiedlicher Tabellentypen für unterschiedliche Zwecke:

  • Standard-Tabellen mit geclusterter Datenspeicherung als primäre B-Bäume
  • Tabellen ohne B-Baum-Index für schnelleres Einfügen (z.B. für Log-Einträge)
  • Remote-Tabellen in anderen Transbase® Datenbanken (Option Transbase® D).
  • Tabellen in anderen Datenbanken über JDBC oder OCI für Read-Only-Betrieb
  • externe Dateien im CSV-Format (können zum Datenbankaufbau fest eingebunden werden)

Vielfältige Indexierungstechniken für Primär- und Sekundärindizes:

  • Als Standardindex verwendet Transbase® B-Bäume - sowohl für Tabellen (mit Primärschlüssel) als auch für Indizes auf Sekundärschlüsseln.
  • Die kompakte Bitmap-Indexierung wird für einspaltige Sekundärindexe auf INTEGER-Feldern angeboten und unterstützt durch die Bitmap-Algorithmen besonders die Kombination vieler wenig selektiver Merkmale.
  • Der Hypercube-Spezialindex bietet eine multidimensionale Indexierung für Primär- und Sekundärindizes. Er ist speziell für multidimensionale Daten geeignet, insbesondere für Data Warehouse Applikationen.
  • Der Fulltext-Index bietet Volltextindizes zur Indexierung von Texten, mit denen sich auch große Textbasen in kürzester Zeit nach Volltextprädikaten, kombiniert mit strukturellen Prädikaten, durchsuchen lassen.

Minimaler Ressourcenbedarf:

Durch die Verwendung effizienter Algorithmen und minimaler Datenstrukturen ist der Ressourcenbedarf von Transbase® sehr gering - sowohl für die Festplatte als auch für den Hauptspeicher: 2 MB Prozessgröße und 4 MB Cache ergeben bereits ein sehr performantes Gesamtsystem. Die logische und physische Komprimierung der Daten auf Seitenebene reduziert den benötigten Speicherplatz und damit auch die IO-Zeiten signifikant.

Skalierbarkeit und Performanz:

Das Verhalten des Systems in Bezug auf die Größe der auszuwertenden Datenbasis ist ein entscheidender Indikator für die Skalierbarkeit und Performanz eines Datenbankalgorithmus.

Bei Transbase® ergeben sich Sklalierbarkeit und Performanz vor allem aus dem garantierten Leistungsverhalten der für den Datenzugriff verwendeten B-Bäume. Die Laufzeiten für Schlüsselzugriffe wachsen nur mit der Höhe des Baumes und daher nur logarithmisch bezüglich der gespeicherten Datenmenge. Da die B-Bäume die Basis aller Zugriffspfade sind, ergibt sich insgesamt eine perfekte Skalierbarkeit für Transbase® Datenbanken mit großen Datenbeständen. 

Transbase® Cache:

Der Transbase® Cache liegt als Shared-Memory-Objekt im Hauptspeicher. Er dient der Koordinierung der Zugriffe verschiedener Transbase Kernel-Prozesse und der gemeinsamen, prozeßübergreifenden Pufferung häufig benutzter Seiten im Hauptspeicher. Darüber hinaus kann jeder Transbase Kernel-Prozeß lokale Speicherbereiche, z.B. für Sortieroperationen oder Zwischenergebnisse dynamisch anlegen. Um die Möglichkeiten der Parallelverarbeitung noch zu steigern kann der Transbase® Cache partitioniert werden.

Transbase® IO-System:

Das Transbase® IO-System nutzt die vom Betriebssystem gegebenen Möglichkeiten und parallelisiert IO-Aufträge, so dass z.B. RAID-Systeme oder auf mehrere Festplatten verteilte Datenbanken mit optimaler Leistung betrieben werden. Insbesondere werden die IO-Transfers direkt zwischen Platte und Transbase abgewickelt, so dass der Betriebssystem-Cache nicht betroffen ist. Die (konfigurierbare) Größe des Transbase® Caches ist für die IO-Leistung entscheidend; je nach Architektur und Leistungsanforderung kann sie zwischen wenigen MB und einigen GB liegen.

Transbase® Query in drei Schritten: P-O-E

P - Übersetzung einer SQL-Query in einen Abarbeitungs-Plan („Operatorbaum“)

O-  nachfolgende Optimierung dieses Plans unter besonderer Berücksichtigung von Indexen und Zugriffspfaden

E - anschließende Evaluierung

Im Rahmen der Optimierung werden Teile des Operatorbaums identifiziert, die parallel verarbeitet werden können. Bei der Evaluierung werden dann, lastabhängig Threads generiert, um die Query maximal zu beschleunigen. Damit ist sichergestellt, dass moderne Multi-CPU-Architekturen auch dann wirkungsvoll ausgenutzt werden, wenn nur eine Anfrage im System aktiv ist.

Möchten sie mehr über Ihre Möglichkeiten mit Transbase® erfahren? Dann kontaktieren Sie uns oder evaluieren Sie 60 Tage unverbindlich.