Ingo Biermann
22. Juni 2017

SAP HANA Performanceoptimierung

Am Begriff HANA Performanceoptimierung kommt keiner vorbei, der bereits mit HANA arbeitet oder plant auf HANA zu gehen. Was HANA Performanceoptimierung für Ihr Unternehmen bedeutet und welche Techniken sich hinter dem Begriff verbergen, werden in diesem Blogbeitrag geklärt.

Schlagwörter die in Verbindung mit SAP HANA fallen sind:

  • Massendatenverarbeitung in Echtzeit und
  • Geschwindigkeitsboost in der Datenbereitstellung

Doch was passiert wenn Ihre Programme und Entwicklungen nicht HANA konform entwickelt sind und der versprochene Laufzeitgewinn nicht eintritt? Die Programme laufen genauso schnell wie vor der Migration oder sogar schlimmer, deutlich langsamer.

Erhalten Sie anhand eines Kundenbeispiels wertvolle Einblicke in den einfach Start Ihrer S/4HANA-Migration.

HANA Performanceoptimierung

An dieser Stelle kommt die HANA Performanceoptimierung zum Einsatz. Sie befasst sich mit der Ermittlung von Flaschenhälsen im Ablauf eines Programms. Das bedeutet, bestehende Programme die selbst nach der Migration noch langsam laufen werden analysiert. Es wird der Engpass gesucht, der den versprochenen Geschwindigkeitsboost mit SAP HANA verhindert. Dabei ist es wichtig, dass System- und Anwendungsoptimierung differenziert betrachtet werden.

Systemoptimierung

Die Systemoptimierung hat einen sehr technischen Fokus. Sie wird üblicherweise von Datenbankadministratoren durchgeführt, wenn mehrere Prozesse langsam laufen und das Problem nicht auf ein oder wenige Programme eingegrenzt werden kann. Es stehen dann die Systemeinstellungen und Hardwareressourcen auf dem Prüfstand.

 

Anwendungsoptimierung

Eigenentwicklungen werden als Custom Code bezeichnet. Anwendungsoptimierung bedeutet Custom Code zu analysieren und anhand der Performance zu bewerten. Sie durchläuft dabei einen iterativen Prozess von drei Phasen.

  1. Analyse
  2. Anpassung
  3. Vergleich

Als erstes wird in der Analysephase der Flaschenhals der Anwendung ermittelt. Anschließend wird der erkannte Flaschenhals durch definierte Fixes angepasst. Parallel oder nach der Anpassung werden die Ergebnisse verglichen. Dabei wird die Laufzeit zwischen dem optimierten Programm und den gemessenen Werten aus der Analysephase verglichen und aus den Ergebnissen weitere Anpassungen abgeleitet.
Bei diesem iterativen Prozess können die Tools:

  • SQL Monitor
  • Code Inspector
  • STAD (SAP Workload: Business Transaction Analysis)
  • SAT (Laufzeitanalyse)
  • ST05 (Performance Trace auf SQL-Abfragen)

zum Einsatz kommen. Mit diesen Tools ist der Entwickler in der Lage, SQL-Abfragen beispielsweise auf ihre Laufzeit und Anzahl der Aufrufe zu überprüfen. Anhand der Ergebnisse kann die exakte Position ermittelt werden, an der eine mögliche Codeoptimierung vorgenommen werden sollte.

Codeoptimierung

Die Optimierung dieser gefunden Schnipsel orientieren sich dabei an definierten “Golden Rules”. Diese Regeln bestehen bereits seit der normalen ABAP Entwicklung ohne HANA Bezug. Fünf definierte Regeln um HANA Ready zu entwickeln sind:

  • Halte das ResultSet aus der Abfrage so klein wie möglich
  • Minimiere die Menge der transferierten Daten
    • Kein SELECT *, sondern nutze eine definierte Feldliste
    • Verwendung von Aggregatfunktionen zum Einschränken der versendeten Daten
  • Minimiere die Anzahl von Aufrufen die Daten transferieren
    • Arrays sind bei spaltenbasierter Architektur effizienter. Geschachtelte SELECTs sind ineffizient, daher Daten durch JOINS verknüpfen
  • Verwendung von Secondary Indizes geben keinen Geschwindigkeitsboost
  • Verwende Code Pushdown um Daten von der Applikationsschicht in der Datenbank berechnen zu lassen
Unser E-Book zum Einsatz- und Nutzenpotential von SAP S/4HANA

Einsatz- und Nutzenpotential von SAP S/4HANA [E-Book]

Dieses E-Book liefert Antworten auf zentrale Fragen, wie: Welche Erfahrungen haben Unternehmen bereits mit S/4HANA gemacht?

SAP Entwicklung unter S4HANA

SAP Entwicklung unter S/4HANA [E-Book]

SAP Entwicklung unter S/4HANA: Alles zu Core Data Services (CDS), ABAP-Entwicklung auf HANA & CDS-Views sowie deren Architektur.

Code Pushdown

Der Code Pushdown wird dazu verwendet um komplexe Kalkulationen auf der Datenbankebene durchzuführen und ist ein Hauptpunkt der HANA Performanceoptimierung. Programme die auf ABAP basieren arbeiten standardmäßig nach dem Data-to-Code Paradigma. Anwendungen die entweder für SAP HANA entwickelt oder dahingehend optimiert wurden, basieren auf dem Code-to-Data Paradigma.

Der Hauptunterschied ist, dass das Data-to-Code Paradigma die Kalkulation von Daten auf der Applikationsschicht vornimmt, während das Code-to-Data Paradigma die Berechnung in der Datenbankschicht durchführt. Durch das Ausführen von Berechnungen auf der Datenbankschicht können Flaschenhälse vermieden werden. Diese treten vor allem auf, wenn eine große Menge an Daten zuerst in die Applikationsschicht transportiert und dort berechnet werden müssen.

Der Flaschenhals ist hierbei das Abfragen der benötigten Daten aus der Datenbank und der darauf folgende Transport in die Applikationsschicht, um Berechnungen anzustellen. Dieser Datentransport wird durch die Verwendung des Code Pushdowns um ein Vielfaches verringert, da ausschließlich die Ergebnisse der Kalkulation aus der Datenbank transportiert werden.

SELECT sal_curr_code, sal_number, sal_value,
FROM sales
INTO TABLE @lt_sal

Code Pushdown kann sowohl mit NativeSQL als auch OpenSQL entwickelt werden. Wir empfehlen OpenSQL zu nutzen. Der größte Vorteil gegenüber NativeSQL ist, dass ABAP Code in Kombination mit OpenSQL auf allen ABAP Applikationsservern fehlerfrei läuft, unabhängig der zugrunde liegenden Datenbank (Any DB).

Sie benötigen Beratung zum Thema Entwicklung mit HANA? Wir freuen uns von Ihnen zu hören.

Ingo Biermann

Ingo Biermann

Als Management- und Technologieberater unterstütze ich seit mehr als 15 Jahren große und mittelständische Unternehmen in Fragen der IT-Strategie und bin unterwegs in unterschiedlichen SAP-Themen wie SAP S/4HANA, User Experience und SAP Entwicklung.

Sie haben Fragen? Kontaktieren Sie mich!



Das könnte Sie auch interessieren

"ABAP Dictionary Views waren die ersten Views, welche ich während meines Karrierenstarts kennengelernt habe." Wahrscheinlich gilt diese Aussage nicht nur für mich, sondern auch für viele andere Bewohner der Welt […]

weiterlesen

Die Erläuterung eines jeden Akronyms (Abkürzung) beginnt meist mit dessen Aufschlüsselung, um so aus den einzelnen Begriffen die ursprüngliche Bedeutung schlusszufolgern. In diesem Fall jedoch entsteht folgendes Horrendum des IT-Berater Fachjargons.

weiterlesen

Der Start eines SAP Master Data Governance (MDG) Projekts ist nicht immer leicht. Es gibt so viele Informationen zu beachten und zu analysieren, dass der Überblick schnell verloren gehen kann. […]

weiterlesen

Schreiben Sie einen Kommentar

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





Kontaktieren Sie uns!
Alexander Koessner-Maier
Alexander Kössner-Maier Kundenservice