Posts Tagged: ‘hochschule_furtwangen’

Informix Warehouse Accelerator: Semesterprojekt an der Hochschule Furtwangen

13. Juli 2012 Posted by Martin Fuerderer


image 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:

  1. 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.

  2. 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.

  3. 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
1186s5,8151s4,732s
2>9h>2700,0250s20,012s
3180s90,013s6,52s
4>4h>230,033s0,563s
5488s12,015s0,340s

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.