Disy Tech-Blog

R in SAP HANA Analytics

R in SAP HANA Analytics

28.10.2015 | Torsten Brauer

HANA, die neue Datenbank von SAP, ist zurzeit in aller Munde. Wobei HANA mehr ist als nur eine Datenbank: SAP selbst spricht von einer Plattform, ich würde es eher als eine Datenbank mit eng integrierten Zusatzfunktionen bezeichnen.

HANA Analytics

Der interessanteste Baustein ist sicherlich HANA Analytics. Unter diesem Sammelbegriff gibt es verschiedene Möglichkeiten, Daten bereits nah am Datenbankkern intelligent abfragen und auswerten zu können.

Dazu gehören neben vorgefertigten Datenbankfunktionen und den speziellen Attributen, Calculations und Analytic Views, welche die Datenbank bietet, in meinen Augen vor allem die Nutzung von Hadoop über Data Services. Mit der Integration der Statistiksprache R bietet sich damit die Möglichkeit viel BI-Logik aus der Anwendung in die Datenbank zu verlagern und zwar mit entsprechenden Performanz- und Stabilitätsgewinnen.

Integration von R

Beliebiger R‑Code kann als RLANG-Procedure direkt aus SQL heraus aufgerufen werden. Die benötigten Daten werden dabei als Input Table an einen R‑Serverprozess übergeben, welcher das Ergebnis als Data Frame an die Datenbank zurückgibt.

Integration von R in SAP HANA
Integration von R in SAP HANA (Quelle)

Schaut man den Execution Plan der Datenbank an, so wird der Aufruf von R in Form eines logischen Knotens als Custom Operation abgebildet. Da der Optimizer keine Anhaltspunkte zu den echten Kosten dieser Operation hat, versucht er diese Operation im Ausführungsplan möglichst weit nach hinten zu schieben. Dies geschieht in der Erwartung, dass hier nur noch maximal eingeschränkte Datenmengen zu verarbeiten sind.

Diese Integration von R direkt in SQL-Abfragen ist extrem mächtig. Gleichzeitig entsteht damit jedoch auch ein großes Sicherheitsrisiko, dessen man sich bewusst sein muss und welches gezielt zu adressieren ist. Über R‑Skripte sind unter anderem Dateizugriffe, Nachinstallationen, Netzwerkverbindungen und OS-Befehle möglich.

Aus diesem Grund ist R kein Bestandteil, der mit HANA out-of-the box mitkommt, sondern der in die Plattform nachinstalliert werden muss.

Ausblick

Die Verwendung von Attributen, Calculations und Analytic Views ist ein eigenes Thema für sich. Der nächste Post zu diesem Thema kommt bestimmt.

 

Das Titlebild heißt Mathematica und wurde von Ivan T unter CC-BY 2.0 veröffentlicht. Wir haben den Bildausschnitt verändert.