ETL Prozesse 100x schneller. Der „transient provider“ als Datenautobahn für SAP BW HANA

Die Frage nach DEM „Use case“

SAP BW powered by SAP HANA ist seit April 2012 offiziell verfügbar. Wir bei FIVE1 haben bereits in der RampUp Phase als einer der ersten SAP Partner ein 750GB Business Warehouse auf die neue Plattform migriert. Aktuell bereiten wir in zwei Projekten den Umstieg auf die HANA Plattform vor. Gleichzeitig erleben wir jedoch in vielen Gesprächen eine eher abwartende Haltung. Das Interesse und auch eine gewisse Faszination riesige Datenmengen in ungeahnter Geschwindigkeit zu bewegen ist dabei aber unzweifelhaft vorhanden. Es ist die Frage nach DEM „use case“ die für viele noch nicht beantwortet ist.

Ganzheitlicher Ansatz

Aus meiner Sicht wird es für die allermeisten Kunden die erhoffte Killer-Applikation eher nicht geben. Sicher kann sich im Einzelfall der Einsatz von HANA allein für einen Anwendungsfall schon rechnen (bspw. wenn eine der SAP Apps für HANA wie der CO-PA Accelerator eine Schwachstelle des ERP beseitigt), spricht man jedoch von SAP BW für HANA muss man in der Regel ganzheitlicher vorgehen. Nicht nur die reinen Performancegewinne sind zu betrachten, sondern auch und vorallem die Möglichkeit gewachsene Datenmodelle aufzubrechen und auf einen zukunftsfähigen Stand zu heben (siehe Mit SAP HANA aus der Datawarehouse Falle). Das reduziert den Administrationsaufwand und spart langfristig Kosten. Gepaart mit den neuen Möglichkeiten des Data Minings, der Simulation und Vorhersage (zusammengefasst unter dem Schlagwort „predictive analysis“), sowie Planung und Near-Time Reporting wird sich der Einsatz von HANA für die allermeisten Unternehmen rechnen. Mein Kollege Marcel Salein ist in einem früheren Beitrag bereits auf einige diese Möglichkeiten eingegangen.

Große Chancen auch in der bestehenden Landschaft

Heute möchte ich in erster Linie Chancen aufzeigen die HANA in einer bestehenden Landschaft bietet. So gibt es nach unserer Erfahrung in BW Systemen zwar vereinzelt Abfragen durch deren Beschleunigung ein echter Mehrwert erzielt werden kann, gelingt es jedoch Ladezyklen (ETL Prozesse) dramatisch zu verkürzen so kann dies für die Gesamtbilanz wesentlich interessanter sein. Gerade hier sind jedoch die Performancegewinne mit HANA nach unseren Erfahrungen nicht überwältigend (klammert man die Delta-Aktivierung einmal aus). Kein Wunder, verliert man die Performance ja meist durch komplexe Businesslogik im Applikationsserver und nicht durch die reinen Datenbankzugriffe.

Ungeahnte Performancegewinne im ETL-Prozess

Nach erfolgter Datenbankmigration auf SAP HANA haben wir in den meisten ETL-Prozessen hauptsächlich Effekte durch kürzere Aktivierungszeiten beobachtet. Erst durch Optimierung der eingesetzten ABAP-Funktionen für HANA ließ sich ein echter Performancegewinn auch in den Transformationen erzielen. Gelingt es jedoch die komplette Logik in die Datenbank zu verlagern, so lassen sich Performancegewinne um den Faktor 100 und mehr erzielen. Im Rahmen dieses Blogs möchte ich daher ein Szenario vorstellen welches anhand eines einfachen Beispiels zeigt wie mit BW auf HANA Business Logik komplett in die Datenbank verlagert werden kann.

Berechnung von Währungseffekten

Die Berechnung von Währungseffekten ist eine klassische Aufgabe die für große Datenmengen in einem SAP BW ETL-Prozess durchgeführt wird. Dabei wird in einer Endroutine über die Währungskurstabelle TCURR im SAP BW der korrekte Währungskurs bspw. nach folgender Formel der Währungseffekt ermittelt:

Der in Konzernwährung umgerechnete Umsatz der aktuellen Periode wird vom in Konzernwährung umgerechneten Umsatz der Vorperiode subtrahiert.

Dazu wird in einem LOOP über alle Datensätze zunächst der korrekte Kurs der Periode für die jeweilige Währung nachgelesen, dann der Kurs des Vormonats. Wird es etwas anspruchsvoller können auch schnell semantische Gruppen notwendig werden und / oder es notwendig werden schlüsselgleiche Sätze aus Vorperioden nachzulesen.

Zugriff auf BW Tabellen im HANA Studio

Zunächst modelliere ich direkt im HANA Studio ein Datenmodell auf Basis der notwendigen BW Tabellen. Dazu lege ich mir für jedes im BW verwendete Infoobjekt einen Attribute View an. Die so entstandenen Attribute Views kombiniere ich zu folgendem Analytical View, welcher nicht ganz zufällig Ähnlichkeiten zum klassischen Infocube aufweist.

Die Faktentabelle mit den Bewegungsdaten basiert im hier verwendeten Beispiel auf der Faktentabelle eines BW Infocubes. Noch performanter und natürlich ebenso möglich wäre es gewesen auf die Daten eines DSOs zuzugreifen. In beiden Fällen findet auf diese Art keinerlei physische Bewegung der Daten statt, das klassische Datenladen entfällt vollständig. Durch die Tatsache, dass ich auf die Stammdatentabellen des SAP BW zugreife, profitiere ich gleichzeitig davon nur konsistente Stammdaten zu verwenden.

In einem Calculation View verknüpfe ich nun die Währungskursinformationen aus TCURR mit den Bewegungsdaten. Durch zwei JOINS reichere ich die Datensätze so an, dass jeder Datensatz um die Information „Umrechnungskurs des aktuellen Monats“ und „Umrechnungskurs des Vormonats“ angereichert wird. Durch die spaltenbasierte Speicherung in HANA stellt dies im Gegensatz zu einer klassischen Datenbank kein Nachteil dar! Die eigentliche Berechnung des Währungseffektes ist dann sehr einfach:

Natives HANA im SAP BW mit Transient und Virtual Provider

Der sogenannte „Transient Provider“ ist ein neuer Infoprovider in BW 7.3 powered by SAP HANA. Mit diesem Objekt ist es möglich im SAP BW nativ HANA Daten in Form von Analytic- und Calculation- Views zu konsumieren. Mit Hilfe der Transaktion RSDD_HM_PUBLISH wird ein Analytical Index, bzw. Transient Provider im SAP BW angelegt. Dazu muss lediglich ein geeigneter Analytical oder Calculation View in HANA gewählt werden. In meinem Beispiel binde ich die zuvor erstellte Calculation View mit Hilfe des Transient Provider wieder in das SAP BW ein.

Den Feldern dieses HANA Views können wieder Metadaten in Form von Infoobjekten zugeordnet werden (Da die HANA Views im Beispiel vollständig auf BW Infoobjekten basieren schließt sich hier der Kreis). Auf diese Art können insbesondere auch die SAP BW Analyseberechtigungen „ganz normal“ verwendet werden.


BEx Query auf Transient oder Virtual Provider (für HANA)

Obwohl sich der Transient Provider einer Infoarea zuordnen lässt findet man im Query Designer den angelegten Provider in der Infoarea „nicht zugeordnet“. Entsprechend der Merkmal- und Kennzahldefinition des zugrundeliegenden HANA Views kann die Query modelliert

und im Anschluss wie jede andere Query verwendet werden.

Um das Ganze zum laufen zu bringen musste in unserem BW System lediglich noch Hinweis 1681996 (Anmeldung erforderlich) eingespielt werden.

Ab SAP BW 7.3 SP7 kann dann auch der virtuelle Provider als virtueller Provider basierend auf einem HANA Datenmodell für diese Aufgabe verwendet werden. Dieser hält zwar etwas mehr Metadaten, kann aber im Gegensatz zum Transient Provider mit Hilfe des SAP Transportsystem transportiert werden.

Fazit

Mit SAP HANA wird sich die Art und Weise ein Business Warehouse zu betreiben gegenüber einem BW mit klassischer Datenbank stark verändern. Selbst vermeintlich starre Transformationen im ETL Prozess lassen sich (wie im hier dargestellten Beispiel) dramatisch beschleunigen. Wenn es auch mental gelingt ehemalige „best practices“ durch neue Vorgehensmodelle zu ersetzen, sind selbst in bestehenden Landschaften enorme Potentiale vorhanden. So rücken Realität und Analyse enger zusammen. Dadurch entstehen neue Möglichkeiten Erkenntnisse zu gewinnen, Szenarien durchzuspielen. HANA bietet als Plattform die technischen Möglichkeiten dafür diese Anwendungsszenarien umzusetzen. So wird HANA zum entscheidenden Faktor für ihren Unternehmenserfolg.


Getagged mit: , , , , , ,

Schreibe einen Kommentar

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

*

*