An der Hochschule Furtwangen hat Serbest Hammade unter der Leitung von
Prof. Dr. Lothar Piepmeyer in einem Semesterprojekt mit dem etwas provokanten
Titel "Die schnellste Datenbank der Welt?" die Möglichkeiten des Informix Warehouse Accelerator unter die Lupe genommen:
"Relationale Datenbanksysteme verbringen oft einen erheblichen Teil
Ihrer Laufzeit damit, auf die Ergebnisse von Ein- und
Ausgabeoperationen von Festplatten zu warten. Einen anderen und
wesentlich performanteren Ansatz verfolgen In-Memory-Datenbanken: Sie
interagieren sehr selten mit der Festplatte und halten die Daten - wie
der Name schon sagt - im Arbeitsspeicher vor. Zur Seite stehen diesen
Systemen moderne Komprimierungstechniken und die Entwicklung
kostengünstiger großer Speichermodule. So können teilweise gewaltige
Datenmengen vorgehalten werden.
Eines dieser Produkte - den Informix Warehouse Accelerator - haben
wir im Laufe des Semesterprojekts "Die schnellste Datenbank der Welt?"
im Wintersemester 2011/2012 geleitet von Herrn Professor Doktor Lothar
Piepmeyer an der Hochschule Furtwangen untersucht."
(Zitat aus der Zusammenfassung der schriftlichen Dokumentation des Projekts)
Im Verlauf der umfangreichen Dokumentation beschreibt
Serbest Hammade ausführlich, wie er mit der TPC-H Version 2.14 als
Testsuite die Leistung des Informix Server in Kombination mit dem
Informix Warehouse Accelerator (beide der Version 11.70.FC2) auf einem
Linux-System mit einer CPU und 64 GB RAM untersucht hat. All dies fand
nicht auf einem bereits eingerichteten System statt, sondern der gesamte
Software-Stack musste zuerst installiert und dann auch konfiguriert
werden. Da innerhalb des Semesterprojekts trotzdem genügend Zeit
für die eigentlichen Leistungsmessungen blieb, wurde bewiesen, dass
Installation und Konfiguration des Systems als relativ einfach
einzustufen sind, und somit auch ohne die Hilfe von
Informix-Spezialisten, womöglich sogar vor Ort, durchführbar
sind. Es wurden sogar noch Messungen mit SQLite durchgeführt, die
jedoch leider aufgrund der Unterschiede in den ausführbaren
SQL-Abfragen nicht zu einem direkten Vergleich herangezogen werden
konnten.
Zum Vergleich kamen somit die Werte von drei verschiedenen Messreihen:
- Nur Informix Server, normale Konfiguration.
Die Informix Server Instanz wurde nicht speziell für eine Data
Warehouse Umgebung konfiguriert und die Datenbank enthielt neben den
Benutzerdaten auch Indexe zur Optimierung des Zugriffs auf einzelne
Datensätze sowie zur Sicherstellung der Datenintegrität
mittels Primär- und Fremdschlüssel. Eine solche Konfiguration
wäre für OLTP typisch.
- Nur Informix Server als reines Data Warehouse, "fully cached".
Um zu erreichen, dass der Informix Server alle Daten im Speicher
hat und während der Abfragen keine Plattenzugriffe mehr machen
muss, wurde die Datenbank ohne jegliche Indexe angelegt. Zudem musste
erst eine Aufwärmphase durchlaufen werden, um durch mehrfache
Abfragen alle Daten in den Bufferpool des Informix Servers zu laden,
in dem der Informix Server die Daten dann halten kann.
- Informix Server mit Informix Warehouse Accelerator.
Informix Server wie in a. jedoch mit dem Accelerator zur
Beschleunigung der Abfragen.
Die Ergebnisse der Zeitmessungen von mehreren Messreihen wurden dann
zum Vergleich in einer übersichtlichen Tabelle wie folgt
zusammengefasst:
Query |
Konfig. a. | Faktor a. zu c. |
Konfig. b. | Faktor b. zu c. |
Konfig. c. Faktor = 1 |
1 | 186s | 5,8 | 151s | 4,7 | 32s |
2 | >9h | >2700,0 | 250s | 20,0 | 12s |
3 | 180s | 90,0 | 13s | 6,5 | 2s |
4 | >4h | >230,0 | 33s | 0,5 | 63s |
5 | 488s | 12,0 | 15s | 0,3 | 40s |
Mit der Festellung, viel im Bereich der praktischen Anwendung eines
Datenbanksystems und Benchmark-änlichen Leistungsmessungen desselben
gelernt zu haben, kommt Serbest Hammade bezüglich der Messergebnisse
zu folgendem Fazit:
"Die Messergebisse zeigen, dass der Informix Warehouse Accelerator
im Gegensatz zu der optimierten Informix Instanz konstante Laufzeiten
hat und bei den meisten Abfragen schneller ist. ...
Wenn Informix in kleinen oder mittelständischen Unternehmen zur
Anwendung kommt, dürfte es kostengünstiger sein, Informix optimal auf
das System zugeschnitten zu konfigurieren.
Für kleine Softwarelösungen lässt sich dagegen SQLite perfekt
einsetzen, da es keinen eigenen Server mit eigener Konfiguration
benötigt, allerdings muss die Software die Bibliothek einsetzen, um
die Daten zu verarbeiten."
(Zitat aus dem Fazit)
Durchgeführt im Studium, ist dieses Semesterprojekt als
beachtliche Leistung eines Studenten zu bewerten! Das Ergebnis ist
treffend, wenn auch ergänzend einige Anmerkungen erlaubt seien:
- Konfiguration b. kann dann vorteilhafter sein, wenn alle Daten in den
Bufferpool passen können - was nicht unbedingt mit der
Firmengrösse eines Anwenders zu tun hat.
- Ausreichend Speicher fuer einen ausreichend grossen Bufferpool der
Konfiguration b. zu haben, ist Bedingung für einen "fully cached"
Betrieb des Systems. Daher mussten auch die Indexe entfernt werden, da
Indexpages ansonsten die Datenpages aus dem Bufferpool wieder
verdrägen und somit keinen "fully cached" Betrieb zulassen.
- Wo Speicher nicht ausreichend vorhanden ist, da kann Informix
Warehouse Accelerator sein Potential voll zur Geltung bringen, da die
Daten nur in komprimiertem Zustand im Speicher gehalten werden, und dank
der speziellen Kompression in vielen Fällen eine Auswertung der
Daten sogar im komprimierten Zustand möglich ist.
- Der Aufwand, ein System der Konfiguration b. dauerhaft im Zustand des
"fully cached" Betriebs zu halten, kann durchaus mehr Kosten verursachen
als der Einsatz des Informix Warehouse Accelerators.