Transbase® Performanz

Minimaler Ressourcenbedarf

Durch effiziente Algorithmen und Datenstrukturen ist der Ressourcenbedarf von Transbase sehr klein, sowohl was die Festplatte als auch den Hauptspeicher angeht: 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

Transbase Download-Center

Eines der wichtigsten Leistungsmerkmale bei Datenbankalgorithmen ist die Skalierbarkeit, also das Verhalten der Aufwände in Bezug auf die Größe der auszuwertenden Datenbasis. Bei Transbase ergibt sich diese 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.

Die eigentliche Queryverarbeitung erfolgt in drei Schritten:

1. der Übersetzung einer SQL-Query in einen Abarbeitungsplan („Operatorbaum“),
2. der nachfolgenden Optimierung dieses Plans unter besonderer Berücksichtigung von Indexen und Zugriffspfaden
3. der daran anschließenden 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.