Kolumne: Basement Tapes

Alles in den Hauptspeicher
Kommentare

Spätestens mit der im Jahr 2010 von SAP-Gründer Hasso Plattner vorgestellten HANA-Plattform haben In-Memory-Datenbanken als eine weitere Alternative zu den weit verbreiteten relationalen Datenbanken Einzug in die Datenbankwelt gehalten. Die Daten werden dabei komplett oder zumindest zu großen Teilen im Hauptspeicher anstatt auf einer Festplatte gespeichert.

Entwickler Magazin

Die Kolumne „Alles in den Hauptspeicher“ ist zuerst erschienen im Entwickler Magazin 2.2012

Auslöser für diese Entwicklung war einerseits die Tatsache, dass der Zugriff auf Festplatten in vielen Datenbankanwendungen zum Performanceengpass des gesamten Systems wurde und andererseits durch die Weiterentwicklung von Hard- und Software (beispielsweise stärkere (Multi-core) CPUs sowie der Trend zu 64-Bit-Betriebssystemen, mit denen große Speicherbereiche im höheren GB-Bereich überhaupt erst adressierbar wurden) die technischen Voraussetzungen für eine solche Alternative bei der Datenhaltung gegeben waren.

Eine der wichtigsten Herausforderungen bei der Implementierung von In-Memory-Datenbanken ist, dass alle Daten auch nach einem Systemabsturz weiterhin komplett zur Verfügung stehen sollen. Da Daten im Hauptspeicher nach einem Systemausfall eigentlich verloren sind, sind hier also Techniken gefragt, die Datenänderungen im laufenden Betrieb nicht nur im volatilen Hauptspeicher, sondern zusätzlich auch in permanenten Medien wie Festplatten durchführen. Eine Möglichkeit besteht beispielsweise im Schreiben von Log-Dateien, die dann beim Wiederanlauf eines Systems nach einem (geplanten oder außerplanmäßigen) Herunterfahren des Systems zur Rekonstruktion des gesamten Datenbestandes eingesetzt werden können. Ganz ohne diskbasierten Speicher geht es also auch in In-Memory-Datenbanken nicht, und daher bieten In-Memory-Produkte häufig auch ein hybrides Speichermodell an. Dabei werden häufig genutzte Daten im Hauptspeicher gehalten und können dort von den Performancevorteilen beim Zugriff profitieren. Seltener genutzte Daten und/oder Archivdaten können dagegen von der Anwendung auf herkömmlichen Plattensystemen gespeichert werden.

Die meisten Schlagzeilen beim Thema In-Memory-Computing macht derzeit SAP mit dem HANA-(High-Performance-Analytic-Appliance-)System. Dort wird eine In-Memory-Datenbank durch eine Vielzahl von Services, Bibliotheken und Applikationen zu einem kompletten „In-Memory-Ökosystem“ verbunden. Aber nicht nur in den SAP-Entwicklungsabteilungen hat man sich in der jüngeren Vergangenheit intensiv mit In-Memory-Techniken auseinandergesetzt. Auch außerhalb der SAP-Welt gibt es schon entsprechende Produkte, beispielsweise die im Jahr 2005 von Oracle eingekaufte TimesTen-Datenbank.

Bei aller Begeisterung für die interessante Technik darf natürlich der wirtschaftliche Aspekt nicht vernachlässigt werden: Hauptspeicher ist zwar wesentlich schneller als Plattenspeicher, allerdings auch teurer. Insbesondere bei der Frage, ob man In-Memory-Datenbanken auch als Standalone-Variante in kleineren Projekten einsetzen will, kann also durchaus auch das Hardware-Budget zum limitierenden Faktor werden.

Rudolf Jansen arbeitet als freiberuflicher Softwareentwickler und Journalist in Aachen. Seine Tätigkeitsschwerpunkte liegen in den Bereichen Java, C++, Android und Datenbanken.
Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -