Wie funktioniert SAP HANA?

Wie funktioniert SAP HANA?
5 Sterne
4 Bewertungen

Ich werde oft gefragt: „Was ist SAP HANA?“, „Wie funktioniert es?“. Dieser Beitrag soll diese Fragen beantworten.
SAP HANA ermöglicht durch die Kombination aus Hardware und Software die Verarbeitung großer Datenmengen mit höherer Performance. Dabei wird mithilfe der In-Memory-Technologie anstatt der Festplatte der Arbeitsspeicher des Computers zur Speicherung von Daten genutzt, der einen wesentlich schnelleren Zugriff ermöglicht.

So erleichtern Sie die Entscheidungsfindung und gewinnen einen umfassenden Überblick über Ihr Geschäft! Mit meinem neuen Buch lernen Sie, SAP für die Unternehmensplanung einzurichten, zu nutzen und zu erweitern.

Die SAP-HANA-Technologie stellt aber viel mehr als nur massive Arbeitsspeicherleistung dar; vor allem geht es auch um clevere Software. So handelt es sich dabei um eine neuartigen Datenbankarchitektur. Die drei wichtigsten Säulen sind: Lesen und Schreiben sowohl im Zeilen- als auch im Spaltenformat, Kompression sowie Kodierung. Nachfolgend stelle ich Ihnen die entscheidenden Neuerungen von SAP HANA vor.

Zeilen- und Spaltenformat in einem

So kann die Datenbank mit Tabellen sowohl im Zeilen- als auch im Spaltenformat arbeiten. Was daran so revolutionär ist, erläutere ich anhand eines Beispiels. Betrachten wir die in folgenden Tabelle dargestellten Informationen.

ID Name Abteilung Gehalt
1 Denis Controlling 5.000
2 Larry Controlling 10.000
3 Bill IT 10.000

Bei den in der Tabelle dargestellten Werten handelt es sich jedoch nur um die für den Anwender visuell aufbereiteten Daten. Tatsächlich werden die Informationen in der Datenbank in einer anderen Form abgelegt. Bei einer zeilenbasierten Datenbank könnte der Inhalt der Tabelle wie folgt aussehen:
1, Denis, Controlling, 5000;
2, Larry, Controlling, 10000;
3, Bill, IT, 10000;

Eine spaltenbasierte Datenbank würde die Daten hingegen wie folgt ablegen:
1, 2, 3;
Denis, Larry, Bill;
Controlling, Controlling, IT;
5000, 10000, 10000;

Die Ablage der Informationen im Spaltenformat bringt mehrere Vorteile mit sich: Wenn Sie z. B. die Summe aller Gehälter wissen möchten, benötigt die spaltenbasierte Datenbank nur einen Lesezugriff, nämlich auf die Zeile (bzw. Spalte) mit den Gehältern. Die zeilenbasierte Datenbank liest hingegen Zeile für Zeile aus, was drei Lesezugriffen entspricht und länger dauert – in diesem Fall dreimal so lang, um genau zu sein. Genauso verhält es sich, wenn Sie den Durchschnitt der Gehälter erfahren möchten.
Ein ähnlicher Fall liegt vor, wenn Sie wissen möchten, wie viele Mitarbeiter im gesamten Unternehmen beschäftigt werden. Während in einer spaltenbasierten Datenbank ein Lesezugriff ausreicht, benötigt die zeilenbasierte Datenbank wiederum drei Zugriffe.
Einen entscheidenden Nachteil haben die spaltenbasierten Datenbanken jedoch: Nehmen wir an, dass ein weiterer Mitarbeiter hinzukommt, sodass unsere Übersicht über die Mitarbeiter nun wie in der nächsten Tabelle aussieht.

ID Name Abteilung Gehalt
1 Denis Controlling 5.000
2 Larry Controlling 10.000
3 Bill IT 10.000
4 Philipp IT 5.000

In diesem Fall muss die zeilenbasierte Datenbank nur eine neue Zeile hinzufügen. Anschließend sieht die Datenbanksicht wie folgt aus:
1, Denis, Controlling, 5000;
2, Larry, Controlling, 10000;
3, Bill, IT, 10000;
4, Philipp, IT, 5000;

Die spaltenbasierte Datenbank muss hingegen alle vier Zeilen anpassen. Danach würde die Datenbank wie folgt aussehen:
1, 2, 3, 4;
Denis, Larry, Bill, Philipp;
Controlling, Controlling, IT, IT;
5000, 10000, 10000, 5000;


Unternehmensplanung mit SAP BPC

Planung mit SAP Business Planning and Consolidation leicht gemacht!

Mit diesem Buch lernen Sie, SAP BPC für die Unternehmensplanung einzurichten, zu nutzen und zu erweitern. Ich beantworte die zentralen Fragen von Projektteams, Beratern, IT und Anwendern – immer mit dem Blick auf die Anforderungen der Praxis.

Wie Sie schon erahnen können, dauert diese Prozedur wesentlich länger als die erste Anpassung. Während also spaltenbasierte Datenbanken Daten schnell lesen können, schreiben die zeilenbasierten Datenbanken die Informationen schneller fort. Daher fand früher häufig eine Unterteilung nach Anwendungsart statt. Während die analytischen Systeme, wie z. B. SAP BW, eher mit spaltenbasierten Datenbanken arbeiteten, liefen die transaktionalen Systeme, wie z. B. SAP ERP, auf zeilenbasierten Datenbanken.
Das hervorragende an SAP HANA ist, dass es beides kann: Die Informationen können schnell spaltenweise gelesen werden. Genauso können Sie aber neue Daten zeilenweise hinzufügen.
Neben dem Spalten- und Zeilenzugriff spielt auch die Kompression eine wichtige Rolle. So wiederholen sich die Informationen in den Datenbanken häufig. Es gibt nur 16 Bundesländer, knapp 200 Länder auf der Welt und nur zwei Geschlechter. In einer Datenbank mit Millionen von Datensätzen kommen diese daher mehrfach vor.
Ziehen wir wieder unsere Tabelle als Beispiel heran. In den Daten kommt die Abteilung Controlling zweimal vor, ebenso wie die IT-Abteilung.

ID Name Abteilung Gehalt
1 Denis Controlling 5.000
2 Larry Controlling 10.000
3 Bill IT 10.000
4 Philipp IT 5.000

Daher könnte man auf der Datenbankebene anstatt
Controlling, Controlling, IT, IT;
auch
2x Controlling, 2x IT;
schreiben. Dies würde den Arbeitsspeicherbedarf enorm senken. Denken Sie dabei an die Geschlechter in einer Datenbank mit Millionen von Datensätzen.

Codierung

Darüber hinaus werden die Informationen durch die SAP-HANA-Technologie codiert, wobei unsere Informationen wie in der nächsten Tabelle aussehen könnten. Hierbei wird die Abteilung Controlling durch eine ganze Zahl ersetzt. Diese lässt sich nämlich platzsparender aufbewahren als in einer herkömmlichen Datenbank, was die Performance weiter erhöht.

ID Name Abteilung Gehalt
1 1 1 1
2 2 1 2
3 3 2 2
4 4 2 1

Partitionierung

Nicht zuletzt bringt die SAP-HANA-Datenbank mithilfe der Partitionierung weitere Performancevorteile. Durch die Partitionierung werden die gespeicherten Informationen durch mehrere CPUs parallel verarbeitet; dabei wird auch der Cache effektiv genutzt.

Insert Only

Schließlich sei genannt, dass es sich bei SAP HANA um eine Insert-Only-Datenbank handelt. Das heißt, dass keine physischen Änderungen an der Datenbank, wie z. B. das Ändern oder Löschen von Datensätzen, stattfinden. Die einmal eingefügten Werte werden nie aktualisiert, sondern die Änderungen finden durch das Einfügen von neuen Zeilen und das Setzen von logischen Markern statt. Neben den Performancevorteilen bringt ein solches Vorgehen auch eine bessere Nachvollziehbarkeit von Änderungen mit sich, was hinsichtlich der Compliance ein weiterer Vorteil ist.

Ihre User beklagen sich über langsame Berichte?

  • In meinem Newsletter lernen Sie, wie Sie Abhilfe schaffen.
  • Entdecken Sie die Möglichkeiten der Performanceoptimierung.
  • Praktische Anleitungen ermöglichen Ihnen schnelle Erfolge bei der Optimierung von SAP Systemen.
  • Viele Tipps und Tricks zu SAP BI Themen.
  • Holen Sie die maximale Performance aus Ihrem SAP BI!
  • Bei der Anmeldung zu meinem Newsletter erhalten Sie das Buch „High Performance SAP BI“ als Willkommensgeschenk.
Fordere SAP Performance Tricks an

Jetzt anfordern!

* Pflichtfeld
 
Kein SPAM. Ich hasse Spam genau so wie du.

Falls Ihnen dieser Beitrag weitergeholfen hat, wäre es eine sehr nette Anerkennung meiner Arbeit wenn Sie z.B. Ihre Bücher über Amazon bestellen würden. Wenn Sie ein Produkt kaufen, erhalte ich dafür eine Provision. Für Sie ändert sich am Preis des Produktes gar nichts. Ich möchte mich an dieser Stelle jetzt schon für Ihre Unterstützung bedanken.

Bildquelle: Pexels, CC0 License

Denis Reis ist Business Intelligence Consultant und gibt als Buchautor sein Wissen rund um den SAP Projektalltag weiter. Wenn Sie tatkräftige Unterstützung bei Ihren SAP BI Projekten benötigen, können Sie ihn über Xing, LinkedIn oder Facebook kontaktieren.
Des Weiteren unterrichtet er Projektmanagement und Controlling an der Wiesbaden Business School. Der aus Düsseldorf stammende Familienmensch zählt zu denjenigen, die auf komplizierte Darstellungen verzichten und das Ganze auf den Punkt bringen.

0 Kommentare

Dein Kommentar

Want to join the discussion?
Feel free to contribute!

Kommentar verfassen