SAP HANA: In-Memory-Technologie für mehr Unabhängigkeit

SAP hat HANA ursprünglich entwickelt, um sich technologisch unabhängiger von anderen Datenbankanbietern zu machen. Dieses Ziel wurde bisher nicht erreicht.

Die Entwicklung von HANA begann 2008. Neben Hasso Plattner waren Vishal Sikka und Alexander Zeier maßgeblich an diesem Projekt beteiligt. HANA ist eine In-Memory-Datenbank, die SAP im Jahr 2010 zunächst als Appliance, also eine Kombination aus Hardware und Software, auf den Markt brachte.

Mittlerweile ist HANA auch separat sowie über verschiedene Service-Provider, wie Amazon, Google, Microsoft und IBM, als Cloud-Angebot erhältlich. Im Jahr 2013 kam Version 2.0 auf den Markt, die mit dem Support Package Stack (SPS) 03 die aktuelle Version darstellt.

Ein wesentliches Merkmal von HANA ist dessen Design als In-Memory-Plattform. Das heißt, die Daten werden nicht erst zur Analyse oder Verarbeitung von einer Festplatte in den Arbeitsspeicher kopiert, sondern vollständig In-Memory gehalten. Das ermöglicht sowohl transaktionale (OLTP) als auch analytische Prozesse (OLAP) im selben System. Hinzu kommt die schnelle Verarbeitung und Analyse großer Datenmengen (Big Data) in nahezu Echtzeit.

SQL als Schnittstelle

SQL ist die Standard-Schnittstelle zu HANA. Alle SAP-Anwendungen, die Open SQL verwenden, können ohne Änderungen auf der HANA-Plattform ausgeführt werden. Zusätzliche Funktionen wie die Freestyle-Suche sind als SQL-Erweiterungen implementiert, wodurch sich die HANA-Nutzung vereinfacht.

Außer SQL unterstützt HANA Business-Intelligence-Clients direkt mit Multidimensional Expressions (MDX) für Microsoft Excel und für Business Intelligence Consumer Services (BICS). Hinzu kommt eine interne Schnittstelle für BusinessObjects BI.

Bei HANA werden unterschiedliche Techniken sowohl im Software- als auch im Hardwarebereich kombiniert. Auf Softwareseite kommt eine hybride Lösung zum Einsatz, bei der die für In-Memory-Datenbanken typische spaltenorientierte Arbeitsweise mit der konventionellen, in relationalen Datenbanken verbreiteten zeilenorientierten Datenbanktechnologie, verbunden sind.

Dabei bietet eine spaltenorientierte Organisation für die meisten Anwendungen Vorteile. So können Operationen für einzelne Spalten, wie Suche oder Aggregation, als Schleifen über ein Array implementiert werden, welches in zusammenhängenden Memory Locations abgelegt ist.

Spalten lassen sich besser komprimieren

Die spaltenorientierte Speicherung ermöglicht eine effiziente Datenkomprimierung. Falls die Spalte sortiert ist, gibt es viele Bereiche mit gleichen fortlaufenden Werten. Beispiele hierfür sind Ländercodes oder Statuscodes. Die hohe Redundanz dieser Werte ermöglicht eine effektive Komprimierung, bei der bekannte Methoden, wie Lauflängenkodierung (Run-Length Encoding) oder Cluster Coding zum Einsatz kommen.

Nach Angaben von SAP kann mit HANA im Vergleich zu zeilenorientierten Datenbanksystemen eine zehnfach höhere Komprimierung erreicht werden. Diese Kompressionen verringern nicht nur das benötigte Speichervolumen, sondern verbessern auch die Performance, da diese Daten schneller in die CPU geladen werden und Vergleichsoperationen rascher ablaufen.

Die spaltenorientierte Speicherung beseitigt in vielen Fällen die Notwendigkeit von Index-Tabellen, da ein serielles Durchsuchen schneller erfolgen kann, als über den Umweg einer Index-Tabelle.

Immer parallel

Bei der Entwicklung von HANA wurde viel Wert auf Parallelverarbeitung gelegt, so dass sich die Datenbank gut mit der Zahl der verfügbaren Prozessorkerne skalieren lässt. Erreicht wird diese Parallelverarbeitung, indem die Daten so weit wie möglich partitioniert werden. Auch in diesem Zusammenhang bietet die Datenkompression Vorteile, da die Daten bereits vertikal partitioniert sind. Das bedeutet, dass Operationen auf verschiedene Spalten leicht parallel ablaufen können.

Nach Angaben von SAP kann mit HANA im Vergleich zu zeilenorientierten Datenbanksystemen eine zehnfach höhere Komprimierung erreicht werden.

Falls nach mehreren Spalten gesucht wird oder mehrere Spalten zusammengefasst werden sollen, lässt sich jede dieser Operationen einem anderen Prozessorkern zuweisen. Zusätzlich können Operationen für eine Spalte dadurch parallelisiert werden, indem die Spalte in mehrere Abschnitte unterteilt wird, die von verschiedenen Prozessorkernen verarbeitet werden.

Temporäre Tabellen

Temporäre Tabellen gehören ebenfalls zum Leistungsumfang von SAP HANA. Sie ermöglichen die Abfrage von Datenwerten eines früheren Zeitpunktes. Schreiboperationen in eine temporäre Tabelle überschreiben nicht den vorhandenen Datensatz physisch, sondern fügen jeweils nur eine neue Version des Datensatzes in die Datenbank ein. Diese verschiedenen Datensätze haben einen Zeitstempel, so dass sich der Wert zu jeder gegebenen Zeit rekonstruieren lässt. Außerdem lassen sich Anwendungen so konfigurieren, als ob sie zu einem früheren Zeitpunkt ablaufen würden.

„Der Leistungsumfang von HANA ermöglicht teilweise erhebliche Performance-Vorteile und schafft damit die Voraussetzungen für neue Geschäftsprozesse, die mit den bisherigen RDBMS-Technologien nicht möglich waren“, heißt es bei SAP.

Ziele noch nicht erreicht

Trotz einer immensen Marketing- und PR-Kampagne stellte sich der erhoffte HANA-Erfolg bislang nicht im vollen Umfang ein. SAP wollte mit HANA seine Kunden und sich selbst von der Abhängigkeit der RDBMS-Anbieter befreien – allen voran Oracle. Doch SAP-Kunden akzeptieren HANA nur schleppend.

So kündigte SAP ursprünglich bei der Neuvorstellung von HANA an, dass man Oracle-Datenbank in Verbindung mit SAP-Software bereits ab 2017 nicht mehr unterstützt. Diese Frist hat man inzwischen auf 2025 verschoben. Das ist ein deutliches Zeichen dafür, dass SAP-Anwender weiterhin intensiv mit Oracle zusammenarbeiten.

Auch von dem ursprünglichen Ziel, dass HANA von anderen großen Softwareanbietern als Datenbankplattform für eigene Anwendungen genutzt wird, ist man weit entfernt. Das liegt unter anderem daran, dass sich umfangreiche Softwarepakete nur mit erheblichem Aufwand auf HANA portieren lassen. Und auch auf der Anwenderseite muss vieles angepasst werden.

Risikoreiche Umstellung

SAP hat mit S/4HANA seine ERP-Suite komplett auf HANA umgestellt. Ein Wechsel darauf ist aber nicht problemlos möglich. In einer Research Note von IDC heißt es: „Die Umstellung auf S/4HANA bedeutet praktisch die Neuinstallation eines kompletten ERP-Systems – mit allen Vor- und Nachteilen.“ Damit verbunden sind letztlich die Überprüfung, welche Prozesse und Funktionen man in welcher Form benötigt, sowie die üblichen Einführungsrisiken einer Neuinstallation.

Folgen Sie SearchEnterpriseSoftware.de auch auf Twitter, Google+, Xing und Facebook!

Nächste Schritte

Kostenloser E-Guide: S/4HANA Cloud- und On-Premises-Optionen.

SAP HANA Data Management Suite zeigt neuen Management-Ansatz.

Kostenloser E-Guide: In-Memory Analytics mit SAP HANA.

Erfahren Sie mehr über Datenbanken