Johannes Vößing
12. Januar 2018

Der Code Pushdown – Neue Spielregeln der ABAP Programmierung auf HANA

Der Code Pushdown ist ein neues Paradigma von SAP für die ABAP Programmierung auf HANA. Doch was bedeutet das  eigentlich?

ABAP CDS View Grundlagen

ABAP CDS View Grundlagen

Durch die Einführung der SAP HANA DB soll die Datenmodellierung innerhalb eines SAP-ERP-Systems erweitert werden. Wir zeigen Ihnen was Sie beachten müssen.

Die wesentliche Innovation der HANA Datenbank besteht aus der  In-Memory Technologie, also der Haltung aller Daten im Hauptspeicher, und einer starken Kopplung zwischen Rechnerarchitektur und Software, die sich in einer starken Parallelisierung durch Hierarchien und speziellen Prozessorbefehlen äußert. Dies hatten wir in Einblick in die SAP HANA Datenbank diskutiert. Welche Konsequenzen ergeben sich für die ABAP on HANA Entwicklung?

Bevor wir die Thematik näher beleuchten, lassen Sie uns zunächst kurz betrachten, wo wir uns befinden:

Wissenlandkarte_Codepushdown

Die Verschiebung des Engpasses

Die Prinzipien der Kommunikation mit der Datenbank aus ABAP heraus, sahen bisher wie folgt aus:

  • Suche effektiv nach den Daten die du benötigst
  • Übertrage nicht mehr Daten, als erforderlich
  • Entlaste den Datenbankserver

Zwar ist dies auch unter HANA gegeben, doch hat sich die Gewichtung dieser Regeln verschoben. Bildlich gesprochen, durchläuft der Informationsstrom bei der Verarbeitung Medien unterschiedlicher Kohäsion. Bei der Übertragung zwischen Applikationsservern und Datenbank, werden die Daten im Prinzip über ein Netzwerk übertragen, was um Größenordnungen langsamer läuft, als die serverinterne Übertragung zwischen Arbeitsspeicher und Cachehierarchie. Werden auf mechanische Bauteile, wie Festplatten, zugegriffen, fällt der Unterschied noch extremer aus.

War früher der letzte Punkt der wesentliche Engpass, verschiebt sich dieser nun durch die Datenhaltung im Hauptspeicher auf das Netzwerk. Demnach kann das Übertragungsvolumen von Datenbank zum Applikationsserver als eine wichtige Performancekennzahl typischer ABAP on HANA Anwendungen betrachtet werden.

ABAP on HANA_Engpass

Der Codepushdown als Antwort auf neue Möglichkeiten

Diese Situation unter HANA ergibt nun neues Potential für die Beschleunigung Ihrer Anwendungen.

Das neue Paradigma heißt nun Codepushdown: statt der Datenbank mitzuteilen, welche Daten wir für die Verarbeitung benötigen – Data-to-Code – teilen wir dieser mit, wie diese Daten zu verarbeiten sind – Code-to-Data. Anstatt das Rohmaterial umständlich anzuliefern und dann zu verfeinern, lassen wir es bereits an Ort und Stelle (im Datenbankmanagementsystem), in einem dafür spezialisierten Umfeld, in ein gewünschtes End- oder Zwischenprodukt verarbeiten. Damit senken sich in der Regel die Transportkosten. Dies verschiebt natürlich eine Teillast auf den Datenbankserver. Dafür ist HANA spezialisiert und verträgt nicht nur eine solche Belastung, sondern kann diese in der Regel um ein vielfaches schneller umsetzen.

ABAP on HANA_Codepushdown

Von der Black zur Whitebox – das Innenleben beleuchten

Zur Umsetzung des Codepushdowns in ABAP, nähert sich SAP seit Netweaver 7.4 SP05 dem SQL92 Standard an.  Dies geschieht durch erweiterte Ausdrucksmöglichkeiten von Views und den Zugriff auf modularisierten Datenbankcode. Die Modularisierung erfolgt in Form von sogennanten Stored Procedures, geschrieben in SQLScipt, einer dem SQL Standard um imperative Sprachelemente erweiterten Sprache. In gewisser Weise können sowohl komplexere „Gestalten“ aus der Datenbank projiziert, als auch direkt umfangreicher Datenbankcode aus ABAP verarbeitet werden, der nur noch das Resultat aus der Datenbank zurück liefert.

Der Zugriff aus ABAP erfolgt durch Proxys der Views oder Stored Procedures, also ABAP Stellvertreter dieser HANA seitigen Objekte. Oder durch die Definition von Objekten der ABAP Core Data Services (ABAP CDS) oder des klassenbasierten Frameworks der ABAP Managed Database Procedures (AMDPs).

Der Ansatz über Proxys oder CDS bzw. AMDPs führt zu Bottom-Up oder Top-Down-Ansätzen. Auf diese Ansätze werden wir zu einem späteren Zeitpunkt noch stoßen.

Beitragsbild-Wie Sie Ihre SAP-Systemlandschaft optimal auf S_4HANA vorbereiten
In diesem Webinar erfahren Sie, welche Technologien der SAP für der Umstieg auf S/4HANA wirklich wichtig sind und wie Sie das volle Potenzial von S/4HANA ausschöpfen.

Ausblick – Engpässe finden und auflösen

Nach einem HANA Code Readiness Check und einer erfolgreichen Migration auf HANA, liegt der nächste wichtige Schritt in der Optimierung Ihrer Anwendungen.

Hierzu bietet SAP leistungsstarke Tools, der statischen und dynamischen Performanceanalyse an, die bei der Datensammlung, Interpretation und Engpasslokalisation, sogar unter Produktivbedingungen, unterstützen.

Wie geht’s weiter?

In den nächsten Beiträgen beleuchten wird den CDS und die AMDPs genauer, als die leistungsstarken Instrumentarien des Codepushdowns. Ferner werden wir uns die Funktionsweise der verschiedenen Tools zur Performanceoptimierung näher ansehen.

Johannes Vößing

Johannes Vößing

Mein Name ist Johannes Vößing. Als SAP Consultant genieße ich die großartigen Möglichkeiten - immer wieder aufs Neue - Faszination, Leidenschaft und Professionalität in den verschiedensten Projekten zu vereinen, um diese letztendlich zum Erfolg zu führen.

Sie haben Fragen? Kontaktieren Sie mich!



Das könnte Sie auch interessieren

Bei der Migration auf eine HANA Datenbank ist es ratsam, den Umfang ihrer anzupassenden Eigenentwicklungen so klein wie möglich zu halten. Dieser Blogartikel stellt eine Möglichkeit vor, wie Sie nicht […]

weiterlesen

Spaltenorientierung ist eins der Schlagwörter, die in Verbindung mit der Datenbank SAP HANA regelmäßig fallen. Doch was steckt eigentlich dahinter? Warum ist sie Teil der HANA DB und welche Konsequenzen […]

weiterlesen

Dieser Beitrag ist der zweite Teil unserer „HANA DB Fundamentals“. Im ersten Teil erklären wir, was Spaltenorientierung bedeutet. Darauf aufbauend widmen wir uns einem weiteren Teil der HANA DB, dem […]

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