In-Memory-Datenbanken

Beim Datenbank-Tuning kommt es nicht nur auf In-Memory an

SAP hat mit HANA für viel Wirbel rund um "In-Memory-Datenbanken" gesorgt. Doch die Leistung einer Datenbank lässt sich nicht allein am Faktor In-Memory festmachen. Für eine gute Performancxe müssen viele andere Faktoren in die Gesamtbetrachtung der Architektur mit einbezogen werden.

Auf den ersten Blick klingt es durchaus einleuchtend, dass man Datenbanken in den Hauptspeicher lädt, um damit eine Beschleunigung der Verarbeitung zu erreichen. Immerhin funktioniert das Auslesen einer Festplatte deutlich langsamer als der Zugriff auf einen Hauptspeicher. Das wissen wir schon seit den 1980ger Jahren, als man zur Beschleunigung des nun wirklich langsamen Zugriffs auf Floppy-Disks die RAM-Disk erfand, um einfach eine Kopie der Floppy im Hauptspeicher anzulegen, um dann dort "In-memory" weiterzuarbeiten. Genau dieses Konzept hatte SAP verfolgt, als man dem rechenaufwändigen, auf SAP BW basierenden Produktionsplanungs-Server "APO" einen "Live-Cache" zur Seite stellte - der Vater von HANA.

In Memory ist nicht neu

Doch HANA ist keineswegs ein neuer Wegbereiter. Die Konkurrenz bei In-Memory ist groß. Nahezu alle bekannten relationalen Datenbank-Managementsysteme (RDBMS) bieten In-Memory in der einen oder anderen Form an. IBM integriert ähnliche Features schon lange in DB/2 und vermarktet diese nun gezielt als Antwort auf HANA unter dem Begriff BLU. Oracle und Microsoft mit SQL offerieren ebenso In-Memory-Optionen. Auch die freien Datenbanken wie MARIA/DB alias MySQL erlauben schon lange In-Memory: Dort wird einfach die Standard Storage-Engine "INNODB" durch die Storage-Engine "MEMORY" (vormals: "HEAP") ausgetauscht. Die Entwickler betonen, dass die "CLUSTER" Storage-Engine eine vergleichbare Performance erziele, dabei aber die Persistenz, also das Speichern der Daten, erlaube.

Andere Anbieter verfolgen indes andere Strategien. Beispielsweise verweigert sich PostgreSQL diesem Trend und verweist darauf, dass In-Memory im Grunde kein Feature, sondern im Grunde ein Defekt im eigentlichen Wortsinne sei - nämlich eine Datenbank, die nicht speichern kann. Erwähnen sollte man an dieser Stelle auch Interbase Caché, MongoDB oder Couchbase, die konsequent den Ansatz einer operationalen strukturfreien Datenbank verfolgen. Doch es gibt mittlerweile so viele Anbieter in diesem Umfeld, dass man leicht den einen oder anderen Mitspieler vergessen kann.