Transbase® Version 8.1 Vorschau

Derzeit arbeiten wir an der Version 8 für Transbase® und implementieren für Sie eine Single Prozess Architektur und einige neue Features, die v.a. für den Support von mobilen Applikationen und Edge Computing (IoT) zum Einsatz kommen.

Single Prozess Architektur

Die wichtigste und gleichzeitig umfassendste Änderung der Version 8 ist die Umstellung von einer Multi-Prozess- auf eine Single-Prozess-Architektur. Dieser (einzige) Prozess heißt transbase. Das bedeutet:

  • Für jede Clientconnection ist jetzt ein dedizierter Thread innerhalb von Transbase® zuständig.
  • Das datenbankspezifische Shared Memory wird durch Speicher innerhalb von Transbase® ersetzt. Dessen Größe kann dynamisch angepasst werden.
  • Die früheren tbadmin-Dienste werden über eine Datenbank admin mittels neuer SQL Kommandos erbracht. Insbesondere sind damit die Administrationsfunktionen netzwerkfähig.

Die Vorteile dieser neuen Systemarchitektur sind:

  • Wesentlich einfachere Prozessstruktur: Beim Start des Prozesses transbase wird die komplette Funktionalität bereitgestellt. Bei der Beendigung des Prozesses sind damit sind alle Datenbankdienste beendet. Selbstverständlich können einzelne Datenbanken – wie bisher – einzeln gebooted und heruntergefahren werden.
  • Effizienteres Starten und Beenden neuer Clientconnections
  • Schnellere und einfachere Kommunikation und Synchronisation zwischen Threads
  • Möglichkeit zum Betrieb von Embedded Datenbanken (Microservices)

Was bedeutet das im Einzelnen?

Server-Datenbanken und Embedded Datenbanken (Microservices)

Durch die neue Architektur wird es möglich, Embedded Datenbanken zu betreiben. Diese sind nur für eine einzige Applikation bekannt und verfügbar – sie brauchen keinen systemweiten Service, sondern stehen der Applikation als Microservice zur Verfügung. Insbesondere werden sie in den Prozess der Applikation fest eingebunden.

Ein Connect zu einer embeddd Datenbank kreiert – wie oben beschrieben – einen dedizierten Thread in der Applikation, der die Datenbankoperationen realisiert. Selbstverständlich sind mehrere Connects in mehreren Threads und der mehrläufige Betrieb von Transbase® innerhalb einer einzelnen Anwendung möglich.

Diese Embedded Datenbanken eignen sich gut, um den Zugriff von außen auf die Datenbank auf eine einzelne Anwendung einzuschränken. Dies ist z.B. für den Betrieb von Transbase® auf Smartphones oder Tablets unabdingbar.

Neue Plattformen

Im Zuge der Veränderung der Systemarchitektur wurden viele Vereinheitlichungen realisiert, so dass die Portierbarkeit von Transbase® nochmals verbessert werden konnte. Transbase® ist jetzt LSB 4.1 konform.

Als neue Plattformen stehen jetzt zur Verfügung: Android, iOS, Raspberry/Pi sowie alle früheren Server-Plattformen. Bei den Server-Plattformen werden alle Linux-, UNIX-, BSD-, Windows- und Solarisderivate unterstützt sowie MacOS.

SSL Verschlüsselung und IPv6 Support

Transbase® bietet nach wie vor die Möglichkeit Datenbanken auf Seitenebene zu verschlüsseln, um sie vor Zugriff außerhalb von Transbase® zu schützen. Die Kommunikation zwischen einer Applikation und Transbase® über TCP/IP wird seit der Version 8 nur mittels SSL Routinen sichergestellt.

Im Übrigen wurden die TCP/IP-Schnittstellen auf IPv6 umgestellt; selbstverständlich werden auch alte IPv4 Verbindungen weiterhin unterstützt.

SQL Erweiterungen

Die SQL Funktionalität wird kontinuierlich erweitert. Die wichtigsten Neuerungen sind:

  •  Das INSERT Statement wurde um zwei Optionen erweitert, die die praktische Verwendung verbessern:

    • Die Klauseln INSERT OR IGNORE, INSERT OR UPDATE und INSERT OR REPLACE dienen dazu, einzufügende Tupel mit Schlüsselkollisionen selektiv zu behandeln.
    • Die Klausel RETURNING(…) kann an das INSERT Statement angehängt werden und liefert als Ergebnis einen Cursor über die eingefügten Records zurück. Dies dient dazu, während des INSERTs generierte Werte zurückzuliefern, z.B. per AUTO_INCREMENT generierte Schlüsselwerte oder DEFAULT-Werte wie CURRENTDATE.

  • Als neuer Indextyp steht nun ein SOUNDX zur Verfügung, der unterschiedliche Sprachvarianten zusammenfasst, wie z.B. Müller, Miller und Muller.
  • Generell wurde die Indexierung für beliebige Funktionen ermöglicht, d.h. ein Sekundärindex kann jetzt z.B. über die Summe zweier Felder oder über Funktionen auf Werten definiert werden.
  • Eine neue SQL Funktion LAST_UPDATE liefert die ID oder den Zeitstempel der letzten erfolgreichen (committeten) Transaktion.

Transbase® CD

Der Publishing Prozess von Datenbanken im Rahmen von Transbase® CD wurde deutlich vereinfacht; jetzt kann aus jeder Datenbank sofort publiziert werden, ohne dass dafür eine Editorial Datenbank erstellt werden müsste.

Die bisherigen Cluster aus Transbase® CD wurden eliminiert und auf DATASPACEs abgebildet und ihre Verwendung vereinheitlicht. DATASPACEs können in der Größe durch Anhängen von Files wachsen und sind damit in ihrem Wachstum nicht mehr statisch beschränkt.

Protokoll-Optimierungen

Für eine häufige Klasse von Anfragen, nämlich One-Row-Selects, wurde eine erhebliche Protokolländerung vorgenommen, so dass jetzt nur noch ein Round-Trip benötigt wird. Dies führt insbesondere bei langsamen Leitungen zu einer erheblichen Verbesserung der Performanz.

Vergleichbare Protokoll-Optimierungen konnten bei verteilten Transaktionen realisiert werden.

Die Version 8.1 von Transbase® ist ab Herbst 2017 generell verfügbar.

Möchten Sie als Beta-Tester unsere neue Funktionalität als einer der ersten testen? Gerne stellen wir Ihnen eine 60-tägige Evaluation Version zur Verfügung. Kontaktieren Sie uns.