Performance von HANA Experten Skript im Vergleich zu ABAP Expertenroutinen

In meinem letzten Blog habe ich eine Transformation mit einem HANA Experten Skript implementiert, dass die Anzahl Arbeitstage zwischen zwei Datumsangaben berechnet. Dies ist ein sehr oft vorkommendes Szenario in der BW Praxis. Das Beispiel ist sehr einfach gehalten um dies besser nachzuvollziehen. In Rahmen dieses Blogbeitrags möchte ich einmal die Performance von HANA Experten Skript zu einer ABAP Implementierung gegenüberstellen.

Zunächst kopiere ich das Ziel ADSO damit ich eine Transformation für eine ABAP Implementierung anlegen kann.

ADSO YHOT2 nach YHOT03 kopieren

ADSO YHOT2 nach YHOT03 kopieren

In der SAP GUI lege ich dann eine neue Transformation an und verwende ebenfalls eine Expertenroutine.

Transformation mit Expertenroutine anlegen

Transformation mit Expertenroutine anlegen

Die Expertenroutine wird wie folgt in ABAP implementiert.

Expertenroutine in ABAP

Expertenroutine in ABAP

Dann wird noch ein DTP angelegt und dann kann die Ladeperformance verglichen werden.
Die DTPs werden mit den Standardeinstellungen übernommen – natürlich kann hier individuell die Performance noch optimiert werden – aber für die Gegenüberstellung der Ladeperformance werden die Standardeinstellungen verwendet. Diese sind wie folgt.

DTP für HANA Experten Skript - Extraktion

DTP für HANA Experten Skript – Extraktion

DTP für HANA Experten Skript - Verbuchung

DTP für HANA Experten Skript – Verbuchung

DTP für HANA Experten Skript - Ausführen

DTP für HANA Experten Skript – Ausführen

DTP für ABAP Expertenroutine - Extraktion

DTP für ABAP Expertenroutine – Extraktion

DTP für ABAP Expertenroutine - Verbuchung

DTP für ABAP Expertenroutine – Verbuchung

DTP für ABAP Expertenroutine - Ausführen

DTP für ABAP Expertenroutine – Ausführen

Zunächst führen wir den Vergleich mit allen 10 Millionen Datensätzen aus. Jeder DTP hat 3 Batch Prozesse zur Verfügung.
Ich habe schon einen Favoriten – welcher DTP wird wohl schneller sein?

Hier das Ergebnis des Tests.

10 Millionen Datensätze mit ABAP Expertenroutine

10 Millionen Datensätze mit ABAP Expertenroutine

10 Millionen Datensätze mit HANA Experten Skript

10 Millionen Datensätze mit HANA Experten Skript

Vergleich bei 10 Millionen Datensätzen

Vergleich bei 10 Millionen Datensätzen

Es ist natürlich keine Überraschung, dass der DTP mit HANA Experten Skript deutlich schneller ist – oder anderst gesagt die HANA Expertenroutine benötigt nicht einmal 25% der Zeit der ABAP Expertenroutine. Warum ist dies so?
Dies hat mehrere Gründe um hier nur ein paar zu nennen:

  • Die Daten werden direkt in der Datenbank verarbeiten und müssen nicht zwischen Datenbankserver und Applikationsserver über das Netzwerk transportiert werden
  • HANA ist auf Hardware mit Multi-Core Architektur ausgelegt und kann dadurch große Datenmengen parallel abarbeiten, dies kann bis zu einem gewissen Grad durch mehrere Batchprozesse des DTP im BW durch die Paketierung ebenfalls erreicht werden

Bei größeren Datenmengen ist dieses Ergebnis jedoch nicht sehr überraschend, wie sieht es mit kleineren Datenmengen aus?
Schließlich kann man die Delta-Initialisierung z.B. auch am Wochenende einplanen und dann täglich kleinere Deltas abholen, ist in diesem Fall die HANA Experten Skript Implementierung immer noch deutlich im Vorteil? Im nächsten Test reduzieren wir die Datenmenge auf 1.000.000, 500.000, 100.000 und zuletzt auf die DTP Paketgröße der ABAP Expertenroutine auf 50.000 Datensätze durch Filtern der Vorgangs-ID im DTP.
In der folgenden Übersicht finden Sie die Ladezeiten im Vergleich.

Vergleich der Laufzeiten

Vergleich der Laufzeiten

Bei wenigen Datensätzen ist der Unterschied der absoluten Laufzeit marginal – wem wird es schon wichtig sein, ob das Datenladen 3 anstatt 7 Sekunden läuft? Interessant ist jedoch, dass sich die Laufzeitunterschiede der Ladeprozesse bei geringen Datenmengen im Verhältnis betrachtet sogar zu gunsten des HANA Experten Skript ausgeht.

Laufzeit von HANA Experten Skript im Verhältnis zur ABAP Expertenroutine

Laufzeit von HANA Experten Skript im Verhältnis zur ABAP Expertenroutine

Soweit zum Performancevergleich des HANA Experten Skript zur ABAP Expertenroutine. Welches Fazit kann man daraus ziehen?
Bei Transformationen mit größerem Datenvolumen sollten die Transformationen unter Verwendung eines HANA Experten Skript implementiert werden, da sich hierdurch in einigen Fällen extrem viel Ladezeit einsparen lässt im Vergleich zur ABAP Implementierung. Ladezeit bedeutet widerum auch Flexibilität, wenn z.B. ein Fehler im Quellsystem ein Neuaufbau notwendig macht, dann wird dieser Neuaufbau deutlich schneller durchgeführt werden können. Dies ist insbesondere bei zeitkritischen und arbeitsintensiven Prozessen wie man sie bspw. von Monats-, Quartals- und Jahresabschlüssen kennt in denen das Accounting und Controlling involviert ist. Allen BW Kunden die bereits ein über die Zeit gewachsenes BW im Einsatz haben, sollten sich zunächst auf die Langläufer konzentrieren. Meistens reichen schon einfache Anpassungen aus damit eine Transformation die SAP HANA Verarbeitung zulässt wie bspw. das ersetzen von Feldroutinen durch Formeln.

Nachdem ich in diesem Blog auf die Performance eingegangen bin, werde ich im nächsten Blog auf das Debuggen von HANA Experten Skript Transformationen eingehen.

Getagged mit: , , , , ,

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*

*