Dominik Precht
 - 19. Dezember 2017

Einblick in die SAP HANA Datenbank

HANA und HANA Datenbank

Wer SAP HANA (High Performance Analytic Appliance) googled kommt mit einer ganzen Reihe von Begriffen in BerĂŒhrung.Da ist zum einen die Rede von der SAP HANA Entwicklungsplattform, ausgestattet mit der In-Memory Technologie, am Hasso-Plattner-Institut zusammen mit der Standford-University entwickelt, um den Anforderungen der Business Intelligence und Business Analytics gerecht zu werden.

 

Ferner clustern sich andere Begriffe rund um das Thema SAP HANA Business Suite 4 SAP HANA, kurz SAP S/4HANA. Andere Begriffe wiederum formieren sich rund um das Thema HANA Cloud Platform (SAP Cloud Platform seit dem 27. Februar 2017).

Suchen wir nach Gemeinsamkeiten, so stellen wir fest, dass alle oben genannten Technologien, als zugrunde liegendes Datenbank-Management-System (DBMS) die SAP HANA Datenbank verwenden.

Um HANA im Kern besser zu verstehen, werde ich mich hier auf die Perspektive eines Anwendungsentwicklers aus der klassischen SAP Umgebung fokussieren, der nun erstmalig Anforderungen in einer SAP HANA Umgebung umsetzt. Ebenfalls passend wÀre die Sicht als IT-Verantwortlicher, der nun vor der Herausforderung steht, sein Team auf die Zukunft mit HANA vorzubereiten.

Leitfragen

Lassen Sie uns in dieser kleinen Serie von BeitrĂ€gen tiefer in das System HANA DB eintauchen und ein StĂŒck weit klĂ€ren, welchen neuen Herausforderungen wir uns stellen werden, und welche FĂ€higkeiten und neuen Denkweisen wir hierbei erlernen mĂŒssen.

Nun haben wir die HANA DB bereits als System bezeichnet. Erlauben Sie mir im Sinne dieser Denkweise konsequent fortzufahren.

Hierdurch ergeben sich einige Leitfragen, die wir im Laufe der Serie nÀher im Detail beleuchten wollen:

  1. Was ist neu in der „HANA-Welt“? Wie verlĂ€uft die Kommunikation ĂŒber die Grenzen hinweg?
  2. Welchen Zweck erfĂŒllt die HANA DB?
  3. Durch welche Faktoren wird die Entwicklung der Technologie getrieben?
  4. Wie unterscheidet sich die HANA DB von den ursprĂŒnglichen relationalen Datenbanken?
  5. Aus welchen Komponenten besteht die HANA DB und wie interagieren diese?
  6. Welche datenbankspezifischen Objekte gibt es?
  7. Welche Prozesse laufen in und ĂŒber die HANA DB?
  8. Was sind Perspektiven und welche sind fĂŒr Entwickler auf der HANA DB wesentlich?
Infografik: SAP HANA

Infografik zum Überblick im Begriffswirrwarr rund um SAP HANA.

HANA im Kraftfeld zwischen Innovation und gestiegenen Anforderungen

Ein wesentliche Treiber der Entwicklung ist die Analyse großer Datenmengen. War zuvor eine strikte Trennung von transaktionaler und analytischer FunktionalitĂ€t erforderlich, wird diese LĂŒcke nun ein StĂŒck weit wieder geschlossen. WĂ€hrend sich transaktionale Berechnungen durch das Lesen, VerĂ€ndern und Schreiben einzelner weniger DatensĂ€tze auszeichnen, greifen analytische Prozesse großrĂ€umig auf Daten von weniger Attributen zu, um sie fĂŒr ein anschließendes Berichtswesen in konsolidierter Form aufzubereiten.

Tabellen mĂŒssen im Speicher linearisiert werden.

Tabellen mĂŒssen im Speicher linearisiert werden.

Hier spricht man von einem transponierten Zugriff auf Datenbanktabellen. WĂ€hrend der transaktionale Zugriff horizontal geschieht, wird bei analytischem Zugriff vertikal auf die Daten der Tabelle zugegriffen. Nicht zuletzt die BerĂŒcksichtigung dieser geĂ€nderten Zugriffsart zeichnet HANA fĂŒr analytische Szenarien aus.

 Abgrenzung HANA DB und Any-DB – In-Memory

Was zeichnet die HANA DB von einer bis hierin ĂŒblichen relationalen Datenbank, einer Any-DB, aus? Durch kostengĂŒnstigere Hauptspeicher, die immer mehr KapazitĂ€t tragen, liegt die Idee nahe, immer mehr Daten im Hauptspeicher fĂŒr einen schnelleren Zugriff zu puffern. Gehen wir nun soweit, dass im Wesentlichen alle Daten so abgelegt werden, erhalten wir einen wesentlichen Aspekt der In-Memory Technologie. Hieraus ergeben sich einige Konsequenzen und Probleme.

Die GrĂ¶ĂŸe aller GeschĂ€ftsdaten einer Applikation kann im mehrstelligen Terabyte Bereich liegen. Es werden dadurch geeignete Komprimierungsverfahren benötigt. FĂŒr einen schnellen Zugriff ĂŒber eine Anwendung, sollten die hierfĂŒr benötigten Informationen nahe im Speicher beieinander liegen, um die Zahl der Seitenfehler im Cache zu reduzieren.

Moderne Speicherhierachien

Moderne Speicherhierachien

Wir sprechen in diesem Zusammenhang auch von DatenlokalitĂ€t. Aus zuvor genannten GrĂŒnden der geĂ€nderten Zugriffsweise durch analytische Prozesse, liegt nun die Überlegung nahe, dass Seitenlayout von Datenbanktabellen in HANA zu transponieren. Anstatt, wie im zeilenbasiertem Layout, einzelne Zeilen der Tabelle sukzessiv hintereinander zu schreiben, und damit die Spalten der Tabelle zu zerschneiden, bleiben im spaltenbasierten Layout die einzelnen Spalten zusammen und werden hintereinander weggeschrieben. Hiermit erhĂ€lt man wiederum neue Angriffspunkte fĂŒr die dringend benötigte Komprimierung.

Spaltendekomposition

Jede Spalte wird nun durch einen Attribut- und Dictionary-Vektor in der Datenbank reprÀsentiert. Das Dictionary umfasst in sortierter Weise die verschiedenen Werte der Spalte. Im Attributvektor werden nun die Positionen der Werte im Dictionary-Vektor weggeschrieben.

Dekomposition in Dictionary und Attributvektor

Dekomposition in Dictionary und Attributvektor

Sowohl auf das Dictionary, als auch auf den Attributvektor können nun geeignete Komprimierungen durchgefĂŒhrt werden. So lĂ€sst sich schnell vorstellen, dass in typischen GeschĂ€ftstabellen, viele Spalten nur wenig verschiedene Werte besitzen. Ein gutes Beispiel dafĂŒr sind WĂ€hrungseinheiten.

Aufeinanderfolgende Werte im Attributvektor können somit durch den Wert und die Anzahl codiert werden. Der erzielte Komprimierungsfaktor, i.e. das VerhĂ€ltnis aus komprimierter und unkomprimierter SpeichergrĂ¶ĂŸe, schwankt in typischen Anwendungen je nach Spalte zwischen 20% und 140%, wobei das Gesamtergebnis ĂŒblicherweise deutlich vorteilhafter ist.

Weitere wesentliche Vorteile eines spaltenbasierten Layouts fĂŒr analytische Berechnungen, liegen in einer deutlich verbesserten Möglichkeit der Parallelisierung. Zum Beispiel, dass mehrere Spalten unabhĂ€ngig voneinander aggregiert werden können.

Appliance

Diese Möglichkeiten nutzt HANA durch eine Appliance, also einer starken Kopplung zwischen Hard- und Software. Auf Ebene der Prozessorkerne einer HANA kompatiblen Maschine, finden wir eine SMID-Architektur, deren Operationen auf die speziellen BedĂŒrfnisse analytischer GeschĂ€ftsprozesse hin optimiert sind. Weiter finden sich eine hierarchische Anordnung mit Kernen, Prozessoren, Blades und Racks.

Mehrkernhierarchien

Mehrkernhierarchien

Zusammenfassung

Zusammengefasst können wir nun folgendes festhalten:

  1. HANA verwendet eine relationale Datenbank mit der In-Memory Technologie.
  2. Hierbei werden die GeschĂ€ftsdaten ĂŒblicherweise spaltenbasiert im Hauptspeicher gehalten.
  3. Das spaltenbasierte Layout begĂŒnstigt zum einen durch geeignete DatenlokalitĂ€t die Berechnung durch analytische Prozesse.
  4. Andererseits wird auch die Parallelisierung begĂŒnstigt.
  5. HANA optimiert diese Prozesse durch eine geeigneten SMID-Prozessorarchitektur und eine auf Parallelisierung ausgerichtete Hierarchie von berechnenden Einheiten und Speicher.

Wie geht es weiter?

In der nÀchsten Folge klÀren wir das fundamentale Prinzip des Code-to-Data Prinzips. Wir erlÀutern, wie dieses Prinzip einen neuen Engpass in der Datenverarbeitung zu beantworten versucht. Wir zeigen, wieso Core Data Services (CDS) und in SQLScript geschriebene ABAP Managed Database Procedures, sogenannte AMDPs, bald zu einen Muss im Werkzeugkasten eines jeden ABAP Softwareentwicklers werden.

Wie bereiten Sie sich und Ihre Mannschaft auf die Zukunft vor?

Dominik Precht

Dominik Precht

Mein Name ist Dominik Precht und ich bin begeisterter SAP Consultant bei mindsquare. Wie meine Kollegen habe ich mein Hobby zum Beruf gemacht.

Sie haben Fragen? Kontaktieren Sie mich!



Das könnte Sie auch interessieren


Schreiben Sie einen Kommentar

Bitte fĂŒllen Sie alle mit * gekennzeichneten Felder aus. Ihre E-Mail Adresse wird nicht veröffentlicht.





Angebot anfordern
Preisliste herunterladen
Expert Session
Support