Einer der Gründe für die starke Performance von HANA ist der sogenannte Code Pushdown. Dabei werden rechenintensive Operationen nicht wie bisher auf dem Applikationsserver, sondern bereits direkt auf der SAP HANA Datenbank ausgeführt. Das erspart den aufwendigen Prozess, die benötigten Daten aus der Datenbank auf den Applikationsserver zu transportieren. Bekanntlich entstand hier, vor allem bei großen Datenmengen, ein Bottleneck und bremste das System merklich aus.Unter HANA gehört dies der Vergangenheit an – zumindest theoretisch. Anstatt die Daten zum Code zu bringen wird der Code zu den Daten gebracht – sozusagen „runter gedrückt“ (Push Down). Dadurch muss nur noch die kleine Ergebnismenge transportiert werden. Das kommt einer hohen zeitlichen Ersparnis gleich.

ADSO Neues Modell

Abb. 1: In SAP HANA werden rechenintensive Operationen direkt auf der DB ausgeführt.

Wie wird der Code Pushdown verwaltet?

Den Code Pushdown verwaltet HANA völlig automatisch. Sobald eine kompatible Transformation, Routine oder Code gefunden wurde, wird diese direkt auf der HANA Datenbank ausgeführt. Es ist nicht notwendig, mehr zu tun oder komplizierte Einstellungen zu konfigurieren.

Die Einschränkungen welche Aktionen „kompatibel“ und damit PushDown-fähig sind, sind jedoch sehr strikt. So sind bei Transformationen weder Einzel-, Start- noch Expertenroutine erlaubt und auch Regelgruppen sowie Mengeneinheitsumrechnungen werden nicht unterstützt. Jegliche Form des ABAP-Coding ist generell nicht für den PushDown geeignet.

Enthält eine Transformation auch nur eine nicht PushDown-fähige Komponente kann die Transformation nicht heruntergedrückt werden und wird, wie bisher üblich, auf dem Applikationsserver ausgeführt – der Performance Gewinn ist damit Geschichte.

Wofür benötige ich HANA Expert Script?

Um den CodePushdown und den damit einhergehenden großen Performancegewinn zu nutzen, müssen erlaubte und damit kompatible Komponenten verwendet werden. So müssen beispielsweise Start,- End- und Expertenroutinen mit ABAP-Code in ein sogenanntes HANA Expert Script umgeschrieben werden.

Das HANA Expert Script kann mittels SQL Script oder der HANA eigens entwickelten Sprache CE (Calculation Engine) programmiert werden.

Sie möchten wissen, welche Transformationen für den CodePushdown erlaubt sind oder wie man ein HANA Expert Script schreibt? Laden Sie sich das zugehörige Infocient-Infopaper „SAP HANA Expert Script und Transformationen“ herunter.

 

Coverphoto: Jez Timms auf Unsplash