Nicht nur relational

NoSQL - die neue (alte) Datenbank-Generation?

20.03.2013
Von Heinz Axel Pürner

In-Memory-Computing

Das Stichwort für einen weiteren Trend im Datenbankumfeld ist schon unter den Key/Value-Datenbanksystemen gefallen: die Hauptspeicherdatenbanken.

Mit den dramatisch gesunkenen Hardwarekosten und den erweiterten Adressierungsmöglichkeiten der 64-Bit-Technologie hat sich das Caching der Daten im Hauptspeicher der Server zu einem beliebten Mittel der Performance-Steigerung entwickelt. Die im Verhältnis langsamen Zugriffe auf Festplattenlaufwerke und die aufwendigeren Techniken zum Auffinden der Daten auf den Harddisks haben in der Vergangenheit die Verarbeitungsgeschwindigkeit teilweise stark beeinträchtigt.

Neben dem Caching im Hauptspeicher gibt es auch Datenbanksysteme, die als reine In-Memory-Datenbanken betrieben werden können, ohne eine Datenbank auf Festplatten im Hintergrund. Seit langem werden In-Memory-Datenbanken als integrierte Datenhaltungssysteme in Echtzeitsystemen wie zum Beispiel in industriellen Steuerungen oder Netzwerk-Routern eingesetzt. Allerdings sind auch In-Memory-Datenbanken keine Erfindung der NoSQL-Bewegung. Relationale Datenbanken wie SolidDB, Apache Derby, MySQL und andere können in-memory betrieben werden. NoSQL-Lösungen, die in-memory laufen, sind die erwähnten Key/Value-Datenbanken wie Redis, Memcached oder MemcacheDB.

Gern wird In-Memory-Computing für Business-Intelligence-Werkzeuge und -Anwendungen genutzt. Bekannte Produkte sind beispielsweise der "Analytic Server" von SAND Technologies, "Cognos TM1" von IBM oder "SAS In-Memory Analytics".

Einige Hersteller setzen auf In-Memory-Computing, um hohe Leistung zu erzielen, ohne jedoch mit der bewährten relationalen Technik zu brechen. In-Memory-Datenhaltung oder Caching, massiv parallele Verarbeitung, spaltenorientierte Datenspeicherung und Datenkompression ermöglichen Geschwindigkeitsvorteile, ohne dafür die Grundlagen bisheriger Datenbanktechnik über Bord werfen zu müssen. Beispielsweise lässt sich sehr wohl eine spaltenorientierte Datenhaltung mit der Datenbanksprache SQL verbinden.

Ein bekannter Vertreter von In-Memory-Computing mit spaltenbasierter Datenhaltung und SQL ist zum Beispiel "EXASolution" des Anbieters Exasol, eine Datenbank für Business Intelligence, Data Warehouses und Data Mining. Bekannter Exasol-Kunde ist das Business Netzwerk Xing. Ein Open-Source-Produkt, das relationale Technologie mit Memory-Caching verbindet, ist "HSQLDB" (HyperSQL Data Base).

Ein Softwarehersteller, der seine Zukunft im In-Memory-Computing sieht, ist SAP. Die Walldorfer kündigten an, dass ihre proprietäre In-Memory-Technik künftig traditionelle Datenbanken ersetzen soll. Der Hersteller hat mit SAP HANA, einer In-Memory Appliance, bestehend aus einem Paket aus Hard- und Softwarekomponenten, ein Analysewerkzeug auf Basis einer In-Memory-Datenbank vorgestellt. HANA kann laut Herstellerangaben externe Datenquellen in seine In-Memory-Datenbank mit Hilfe des Sybase Replication Server integrieren und so schneller auswerten. Die In-Memory Database ist spalten- und zeilenorientiert ausgelegt und nutzt SQL als Datenbanksprache. Sie besitzt eine Relational Engine für die Datenhaltung und einen Optimizer.