Inhalt

Trends in der IT

In-Memory- Technologie

In-Memory speichert alle Daten, Indizes und Systemeinstellungen im Arbeits­
speicher des jeweiligen Servers. Anders als beim Caching, das bei relationalen
Datenbanken zum Einsatz kommt, werden die Daten bei In-Memory spalten-
orientiert abgelegt. Diese Methode kann vor allem von Business Intelligence-
Systemen genutzt werden, da Analyse-Abfragen auch stärker spalten- als
zeilenorientiert arbeiten. Das Risiko für einen Datenverlust bei In-Memory ist
jedoch deutlich höher, da alle Daten im Arbeitsspeicher gespeichert werden.
Deshalb sind beim Einsatz von In-Memory umfangreiche Replikationen einzu-
richten, um eventuellen Datenverlusten vorzubeugen.
Dieser Beitrag zielt darauf ab, die In-Memory-Technologie vorzustellen,
ihre Vor- und Nachteile zu beleuchten sowie Anwendungsbereiche vorzustellen.

 

Einleitung

Die Verfügbarkeit von Daten sowie die Möglichkeit, diese dauerhaft abzuspeichern, sind
mit heutigen Technologien bereits gegeben. Heutige wie auch zukünftige Anforderun­gen
sehen aber nicht nur eine Speicherung großer Datenvolumina vor, sondern Anforderungen
gehen – wie in vielen anderen Bereichen – in Richtung Optimierung und Performancestei-
gerung. Die Unternehmen stehen vor dem Problem, die großen Datenvolumina schnell
und effektiv abrufen und aufbereiten zu können, um den wachsenden Herausforderun­
gen des Marktes effektiv entgegen zu treten. Führende IT Unternehmen entwickeln des-
halb aktiv neue Speicherverfahren, um diese Datenmengen verarbeiten und verwalten zu
können. Die In-Memory-Technologie – vor allem durch SAP voran getrieben – stellt sich
genau diesen Herausforderungen und nutzt als primäres Speichermedium den Haupt-
speicher des jeweiligen Systems. SAP gibt an, durch Einsatz von In-Memory-Technologie
10.000 Abfragen gegen 1,3 TeraByte Daten in einigen Sekunden ausführen zu können
(McIlvaine, 2011).
Es stellt sich die Frage, wie sich derartige Abfragegeschwindigkeiten erzielen lassen und
welche Komponenten zusammenarbeiten müssen, um diese Leistung zu erzielen. SAP nennt
hier ihr Produkt SAP HANA, das im Kern eine In-Memory-Datenbank beinhaltet.
Doch ist weiterhin zu klären, ob In-Memory die Performance signifikant im Vergleich
zu anderen Datenbanksystemen steigert, ob ein Einsatz eventuell weitere Vorteile mit sich
bringt und welche Risiken zu berücksichtigen sind. Wie würde eine Kosten/Nutzenanalyse
ausfallen und wie viel muss an bestehenden Anwendungen verändert werden, um diese Per-
formance ausschöpfen zu können?
Mit diesen Fragen beschäftigt sich dieser Beitrag. Zunächst wird In-Memory genauer von
anderen Technologien abgegrenzt. Es folgt ein Überblick über mögliche Einsatzgebiete von
In-Memory und welche Aspekte hierbei zu beachten sind. Danach wird erläutert, wie In-Me-
mory technisch funktioniert. Vorteile und Nachteile werden erläutert und ein Vergleich mit
anderen Datenbanksystemen gezogen. Zum Schluss folgt ein Fazit mit Ausblick.


In-Memory Technologie

Unter In-Memory versteht man prinzipiell das Speichern und Verwalten der Daten im Haupt-
speicher (Plattner & Zeier, 2011). Der Einsatz löst sich vom klassischen Ansatz der gängigen
Datenbearbeitung. Daten werden nicht mehr in Datenbanken auf Festplatten persistent ge-
halten, verwaltet und manipuliert. Der Ansatz des Speicherns und Bearbeiten der Daten im
Hauptspeicher verspricht sehr große Performance-Verbesserungen hinsichtlich allgemeiner
Datenzugriffe, aber auch bei der allgemeinen Prozessgestaltung. Erzielt werden diese Ver-
besserungen durch den Entfall des Zugriffs auf Festplatten, die deutlich höheren Zugriffsge-
schwindigkeiten beim Zugriff auf den Hauptspeicher sowie die einfacheren Zugriffsalgorith-
men. Den Ansatz der In-Memory-Technologie gibt es im Prinzip schon seit mehreren Jahren,
doch fristete diese bislang ein gewisses Nischendasein. Durch die sich ändernden Anforde-
rungen an etablierte Systeme insbesondere im Bereich Business Intelligence gewinnt dieses
Thema zunehmend an Relevanz.
In-Memory lässt sich heute in operativen Systemen vor allem zur Unterstützung ein-
setzen. Hierbei kann die Technologie die erste Speicherschicht für Daten bilden und schnelle
Zugriffe darauf ermöglichen. Dies ist vor allem im mobilen Umfeld von Nutzen, da die End-
geräte hier nur über begrenzte Ressourcen verfügen, der Benutzer aber viele Informationen
speichern möchte. Ein Beispiel zeigt den Einsatz der Oracle TimesTen Datenbank in einer
Telefonabrechnungsanwendung.
Wichtig ist die Replikation zu einer relationalen Datenbank, um dauerhafte Persistenz
der Daten zu gewährleisten.
Um heute effektiv Daten analysieren zu können, werden diese von den operativen
Daten getrennt und in einem separaten Datawarehouse abgelegt. Allerdings liegen die
Daten auf Festplatten; um große Datenmengen analysieren zu können, müssen Aggre-
gationen gebildet werden. Diese Problematik kann In-Memory komplett lösen. Da die
Daten im schnellen Hauptspeicher liegen und nach dem Spaltenprinzip abgelegt wurden,
können diese schneller analysiert werden. Teils ermöglicht In-Memory erst eine Daten-
analyse. Einige Meinungen gehen dahin, dass die Trennung von OLTP (operativ) und
OLAP (analytisch) in Zukunft nicht mehr notwendig sein wird und eine neue Form OLXP
entstehen wird.
Bei der Anwendung der In-Memory-Technologie erfolgt ein Lesen und Schreiben von
Daten direkt im Hauptspeicher. Somit kann auf das Transferieren der Daten von und zu ande-
ren Speichermedien verzichtet werden. Des Weiteren wird im Gegensatz zu herkömmlichen
IT Systemen kein Unterschied zwischen Analyse- und Transaktionsdaten gemacht. Das heißt,
es erfolgt immer ein Arbeiten mit den aktuellen Daten. Diese Technologie arbeitet dabei mit
einer Kombination aus zeilen- und spaltenorientiertem Verarbeiten von Daten. Beide Metho-
den haben ihre jeweiligen Vor- und Nachteile. Rein zeilenorientierte Datenbanken erlauben
schnelle schreibende Zugriffe. Doch durch die Anordnung der Daten ist der lesende Zugriff
eingeschränkt und recht langsam. Rein spaltenorientierte Datenbanken haben genau den
umgekehrten Effekt. Daher wird eine Kombination beider Methoden angestrebt. In-Memo-
ry-Ansätze beschäftigen sich aber nicht nur mit dem Halten der Daten im Hauptspeicher,
sondern auch mit Prozessen, die im Hauptspeicher definiert und ausgeführt werden. Dies
ist allgemein unter dem Begriff In-Memory-Computing bekannt. Würden nur die Daten im
Hauptspeicher gehalten und die Prozessabläufe herkömmlich erfolgen, müsste wieder ein
Datentransfer stattfinden und die Technik würde ausgebremst werden. Das heißt, die Pro-
zesse im Hauptspeicher verarbeiten direkt die Daten, die im Hauptspeicher gehalten werden.
(Plattner & Zeier, 2011)
Die Stärken und Chancen dieser Technologie liegen im Entfall des Auslesens der Daten
von Festplatten und dem nun ermöglichten direkten Datenzugriff, wodurch sehr viel kürzere
Zugriffszeiten erzielt werden. Durch diese werden die Zeiten der Speichervorgänge, des Auslesens
und des Manipulierens der Daten deutlich verkürzt.
Diese Technik ermöglicht es, Prozesse in verschiedenen Bereichen deutlich effizienter zu gestalten bzw.
bisher unmöglich erscheinende Prozesse erst zu realisieren. Es ist nun möglich, große Datenmengen
nicht nur zu verwalten, sondern diese auch in Echtzeit zu bearbeiten, zu analysieren und
auszuwerten. Durch den Verzicht auf die Unterscheidung zwischen Analyse- und Trans-
aktionsdaten wird außerdem die Möglichkeit geschaffen, immer aktuelle Daten auszuwerten.
Bei allen Vorteilen muss aber klar erwähnt werden, dass es Risiken und Schwächen
gibt, die vor und bei einem Einsatz bedacht werden müssen. Die Technologie bedient sich
des Hauptspeichers. Hauptspeicher ist im Gegensatz zu Festplatten immer noch recht teuer.
Die Preise haben sich zwar sehr zugunsten des Verbrauchers entwickelt, aber dennoch muss
davon ausgegangen werden, dass das Verhältnis von Speicherplatz zu Preis bei Festplatten
deutlich günstiger ausfällt.
Des Weiteren gehört Hauptspeicher zur Klasse der flüchtigen und somit nicht persisten-
ten Speichermedien. Wird das Gerät, zu dem der Speicher gehört, gewollt oder ungewollt
ausgeschaltet, tritt definitiv ein Datenverlust ein. Daher muss ein hoher Aufwand betrieben
werden, der diese Datenverluste durch Back-up-Szenarien verhindert. Natürlich werden auch
heute schon Ausfallszenarien definiert und implementiert, um einen schnellen Zugriff auf be-
triebswichtige Daten zu ermöglichen, doch spielt wieder der höhere Kostenfaktor eine wich-
tige Rolle. Jedes weitere Rechenzentrum steigert die Kosten eines Unternehmens immens.
Des Weiteren werden zusätzlich weiterhin festplattengestützte Datenbanksysteme genutzt
werden müssen, die für ein Back-up bzw. zur Auslagerung historischer Daten zur Verfügung
stehen. Aufgrund dieser Punkte muss evaluiert werden, für welche Systeme/Prozesse ein
Einsatz der In-Memory-Technologie sinnvoll ist und für welche der zu treibende Aufwand
unvertretbar hoch wäre.


Vergleich zu anderen DB-Systemen

Herkömmliche relationale Datenbanken mit den dazugehörigen Datenbankmanagement-
systemen unterscheiden sich in vielen Aspekten wie z. B. Geschwindigkeit oder Kosten von
In-Memory Lösungen. Klassische Datenbankmanagementsysteme verwenden Festplatten
als Datenspeicher (On Disc). On Disc stellt großen Speicherplatz mittels immer größer und
günstiger werdender Speichermedien zu Verfügung. Diese Methode mag heutzutage an-
gesichts von In-Memory Lösungen nicht mehr zeitgemäß erscheinen, da auch die Preise
für Arbeitsspeicher gefallen sind. Sie bietet aber nichtsdestotrotz weiterhin Vorteile gegen-
über der In-Memory-Technologie. So ist beispielsweise die Erstellung paralleler Abfragen
möglich. Das fundierte Fachwissen sowie ein großer Erfahrungsschatz mit herkömmlichen
DB-Systemen stehen den Vorteilen dieser neuen Technologie kritisch gegenüber. Ein gera-
de aus Unternehmenssicht wichtiger Aspekt sind die umfangreichen Back-up Features für
Restore und Recover ohne Datenverlust bei On Disc Datenbank-Systemen.
Eine Alternative zur In-Memory-Technik könnte der Einsatz von Solid State Drives (SSD)
darstellen. SSDs stellen einen Mittelweg dar: Persistente Speicherung auf Festplatten in
Kombination mit einer verbesserten Performance gegenüber herkömmlichen Festplatten.
Dies kann als Lösungsansatz für die empfindlichen herkömmlichen Festplatten gesehen
werden, da SSDs keine mechanischen Bauteile wie z. B. Discs, Lese- bzw. Schreibköpfe be-
sitzen. SSDs können als große USB-Sticks angesehen werden. Ein Nachteil ist allerdings,
dass jeder Speicherblock nur mit einer endlichen Anzahl an Schreibvorgängen genutzt
werden kann. Dies schränkt die SSD-Lösungen auf Anwendungsfälle ein, die mit einer nur
geringen Anzahl an Datenänderungen einhergehen, da jede Datenbankänderung einem
Schreibvorgang entspricht.


Fazit

In-Memory ist schon seit vielen Jahren eine bekannte Technologie für die Speicherung von
Daten im Arbeitsspeicher. Diese steigert die Verarbeitungsgeschwindigkeit signifikant im Ver-
gleich zu herkömmlichen Plattenspeichersystemen. Solange der physikalische Speicherort der
entsprechenden Daten nicht ausschließlich eine In-Memory-Datenbank ist, kann diese Tech-
nologie als Unterstützung und Beschleunigungswerkzeug effektiv eingesetzt werden. Lie-
gen große Datenmengen zugrunde oder existieren bereits Abfragen, welche eine akzeptable
Antwortzeit überschreiten, muss über den Einsatz von In-Memory nachgedacht werden.
Da vor allem Hardware immer günstiger wird, sind auch Technologien wie In-Memory in
der Zukunft durchaus eine Alternative. Die Datenmengen werden größer und die Anforde-
rungen, diese effizient zu analysieren, sind schon heute gegeben.

 

Literaturverzeichnis

Fabian, B., & Günther, O. (2011). In-Memory-Datenmanagement für Business Intelligence. Wirtschaftsinformatik 53, 388.

Kolodziej, C. (2011 (2)). Was taugt der In-Memory-Ansatz. BI-Spektrum. Lehner, W. (2011). In-Memory Data Management – Evolution oder Revolution. Wirtschaftsinformatik 53, 386-387.

Löchtenberger, J., & Vossen, G. (2011). Hauptspeicherdatenbanktechnologie: Herausforderungen und weitere Entwicklungen. Wirtschaftsinformatik 53, 384-385.

Loos, P. (2011). In-Memory-Datenmangement in betrieblichen Anwendungssystemen. Wirtschaftsinformatik, 383-384.

Lörcher, W. (2011). CIO. Abgerufen am 13. Mai 2012 von http://www.cio.de/xing/2292452/index.html

McIlvaine, H. (2011). SAP.Info. Abgerufen am 20. Juni 2012 von SAP.Info: http://en.sap.info/hana-inmemory-ibm-x3850-analytics/49008

Plattner, H., & Zeier, A. (2011). In-Memory Data Management – An Inflection Point for Enterprise Applications. Springer.

Zeier, A., J., K., & J., M. (2011). Potenziale von In-Memory-Technologien. Wirtschaftsinformatik 53, 385-386.


Autoren

Martin Funk
Martin FunkTätig bei Merck KGaA und studiert berufsintegrierend Wirtschaftsinformatik an der FH Mainz.

 

Boris Marinkov
Boris MarinkovTätig bei BASF IT Services GmbH und studiert berufsintegrierend Wirtschaftsinformatik an der FH Mainz.

 

Michel Paar
Michel PaarTätig bei IPS Software GmbH und studiert berufsintegrierend Wirtschaftsinformatik an der FH Mainz