In-Database Machine Learning mit SAP HANA Predictive Analysis Library

Sebastian Uhlig

Geschrieben von: Sebastian Uhlig - 13 Juli 2020
(Aktualisiert am: 21 Juni 2023)

Keine Frage, Daten sind die neue Währung im digitalen Zeitalter. Allerdings nutzen nur die wenigsten Unternehmen das volle Potential Ihrer Daten, um zum Beispiel bisher unbekannte Erkenntnisse und Zusammenhänge aufzudecken oder Trends vorherzusagen. Mit Predictive Analysis Library (PAL) soll dieser Schritt im SAP Ökosystem leichter gemacht werden. Predictive Analysis Library (PAL) enthält als Teil der Application Function Library (AFL) vorgefertigte Algorithmen, die zur prädiktiven Analyse und Data Mining eingesetzt werden können.

Diese können sofort eingesetzt und innerhalb von SQLScript Prozeduren aufgerufen werden, sodass keine zusätzliche Hard- oder Software benötigt wird. Darüber hinaus profitieren Sie auch von hoher Geschwindigkeit, da die Algorithmen direkt innerhalb der SAP HANA auf Datenbankebene ausgeführt werden. In diesem Beitrag beleuchten wir die Funktionen der PAL.

 

Machine Learning im SAP Ökosystem ohne die PAL

Üblicherweise werden bei Machine Learning Projekten die Daten von der HANA Datenbank zu einem externen Applikationsserver transferiert. Hier wird ein Machine Learning Modell verwendet, um Prognosen auf Basis der transferierten Daten zu erzeugen. Anschließend werden die Ergebnisse wieder zurück in die HANA transferiert und können beispielsweise in das bestehende Reporting integriert werden. 

Dieses Vorgehen bringt mehrere Nachteile mit sich. So müssen Investitionen in zusätzliche Hardware und die Wartung getätigt werden. Häufig fallen auch zusätzliche Lizenzgebühren an. Außerdem müssen sehr große Datenmengen zwischen der SAP HANA Datenbank und dem Machine Learning Server hin und her geladen werden, was sehr viel Zeit und Ressourcen in Anspruch nimmt. Genau an dieser Stelle setzt die Predictive Analysis Library an. 

 

Einsatzgebiete der PAL

Die Predictive Analysis Library stellt Funktionen für Predictive Analytics und Data Mining bereit, die als SQLScript Prozeduren direkt innerhalb der HANA aufgerufen und ausgeführt werden können. Dadurch sind keine zusätzlichen Server oder Applikationen nötig und ein Datentransfer von und zur HANA Datenbank entfällt. Dabei werden Algorithmen für die folgenden Anwendungsfälle ausgeliefert:

  • Preprocessing
  • Clustering
  • Klassifikation
  • Regression
  • Zeitreihenanalyse
  • Assoziation
  • Statistik
  • Social Network Analysen
  • Empfehlungssysteme
  • Sonstiges (z.B. ABC Customer Analysis)

Ferner bietet die PAL auch mehrere inkrementelle Algorithmen für maschinelles Lernen an, die ein Modell "on the fly" lernen und aktualisieren, so dass Vorhersagen auf einem dynamischen Modell basieren. Dieser Ansatz kann vor allem im Bereich der Streaming Analytics eingesetzt werden. Durch die PAL können zum Teil sogar komplexere Algorithmen wie ein Multi Layer Perceptron (MLP) über eine Vielzahl von Schichten (= Deep Learning) implementiert werden.

 

Technische Voraussetzungen

Um die PAL Prozeduren zu verwenden, müssen folgende Voraussetzungen erfüllt werden. Zum einen benötigen Sie die SAP HANA Platform mit der Version, die der PAL Version entspricht. Zum anderen müssen Sie die Application Function Library (AFL) installieren, welche die Predictive Analysis Library (PAL) enthält. Schließlich müssen Sie den Script Server auf der SAP HANA-Instanz aktivieren. Weiterführende Informationen können Sie den SAP Notes 1898497 und 1650957 entnehmen.

Vor- und Nachteile von PAL

Vorteile der PAL

Alles an einem Ort

Der Hauptvorteil der PAL besteht darin, dass die Daten direkt an der Quelle, wo sie entstehen oder gehalten werden, verarbeitet werden können. Sie können die Algorithmen direkt in S/4HANA oder BW/4HANA bzw. BW on HANA ausführen. Dadurch wird die Anzahl aufwändiger ETL-Prozesse deutlich reduziert. So müssen riesige Datenmengen nicht mehr über Schnittstellen oder manuelle Exports erst an Analytics Werkzeuge von Drittanbietern exportiert werden.

HANA Power

Ein weiterer großer Vorteil der Predictive Analysis Library ist die enorme Rechenleistung, die mithilfe der SAP HANA erreicht wird. In der Regel verfügt die Hardware der HANA über mehrere Terabyte Arbeitsspeicher und eine Vielzahl von CPUs. Ferner sind auch die in der PAL ausgelieferten Algorithmen für die Nutzung in HANA optimiert, um selbst bei ressourcenintensiven Algorithmen kurze Rechenzeiten zu erzielen.

HANA native Algorithmen

Auch die HANA nativen Algorithmen stellen einen Vorteil der PAL dar. Wenn Sie beispielsweise Algorithmen für Prognosen oder zur Identifizierung von Anomalien in Ihrem Geschäftsprozess einsetzen möchten, benötigen Sie als SAP HANA Nutzer keine teure Machine Learning Software zu erwerben. Sie müssen sich auch nicht um Datenbankschnittstellen kümmern, da die Verarbeitung der Daten und Ausgabe der Ergebnisse direkt auf der SAP HANA Datenbank durchgeführt werden.

Keine zusätzlichen Lizenzgebühren

Bei der Nutzung der PAL fallen für Sie keine zusätzlichen Lizenzgebühren an, so wie es bei dem Produkt SAP Predictive Analytics der Fall ist. Allerdings ist eine größere fachliche Kompetenz im Bezug auf die analytischen Funktionen notwendig, da sich das Tool insgesamt eher an Data Scientisten als an Business-Anwender richtet.


Wie Sie SAP BW und State of the Art Machine Learning zusammenbringen 

Whitepaper Machine Learning



Einfache Modellierung und Zugriff über Python

Das Training der Modelle und die Durchführung von Prognosen kann entweder in HANA Studio über HANA SQLScript Prozeduren oder über den SAP HANA Application Function Modeler in der browserbasierten Web IDE angestoßen werden. Im Gegensatz zu HANA 1.0, wo die Modelle mittels Wrapper Prozeduren geschrieben werden mussten, bietet HANA 2.0 die Möglichkeit Flowgraphs im web-basierten Modeler zu nutzen.

In einem Flowgraph werden einzelne Funktionen als grafische Objekte dargestellt und können miteinander verbunden werden. Als Ergebnis entsteht ein Flussdiagramm, welches den Fluss der Daten durch die einzelnen Prozessschritte und Algorithmen darstellt. Die Funktionen können aus einem Repository per Drag & Drop eingefügt und über Eingabefelder parametrisiert werden. Die zur Verarbeitung des Algorithmus notwendigen Prozeduren und Tabellen werden automatisch im Hintergrund angelegt. So ist eine Modellierung sogar ganz ohne Code möglich.

Für fortgeschrittene Anwender besteht auch die Möglichkeit, Algorithmen innerhalb der PAL über ein offizielles Python-Modul (hana-ml) auszuführen. Der Vorteil ist hier, dass Python gegenüber den SAP Machine Learning Tools eine deutlich höhere Akzeptanz unter Data Scientisten besitzt und die Modellierung so deutlich näher an dem Industriestandard durchgeführt werden kann.

Integration ins SAP BW

Die mittels eines PAL Algorithmus gewonnenen Ergebnisse können in einer HANA Tabelle exportiert werden. So können Sie mit allen gängigen Reporting Werkzeugen (zb. SAP Lumira oder SAP Analytics Cloud) auf die Ergebnisse zugreifen und dem Fachbereich in einem aufbereiteten Bericht grafisch präsentieren. Da sich der gesamte Prozess End-to-End automatisieren lässt, kann der Bericht immer mit den aktuellen Daten versorgt werden. Entweder auf Knopfdruck oder auch über einen Prozess, welcher jede Nacht ausgeführt wird.

Nachteile der PAL

Nachteile der PAL

Neben den zahlreichen Vorteilen der PAL gibt es jedoch auch einige Nachteile, die berücksichtigt werden sollten.

Limitation der Algorithmen

Durch die PAL werden bereits eine Vielzahl von klassischen Algorithmen für Advanced Analytics bereitgestellt. Es ist jedoch anzumerken, dass nur aus den vordefinierten Algorithmen gewählt werden kann. Die Verwendung kundeneigener Algorithmen ist innerhalb der PAL hingegen nicht möglich.

Umständliche Benutzung und mangelnde Akzeptanz durch Data Scientists

Gerade Data Scientists greifen für Machine Learning und Analytics Lösungen meist auf die Programmiersprachen Python oder R sowie auf Open Source Frameworks wie TensorFlow oder PyTorch zurück. Die Anwendung der PAL über SQLScript oder die Web IDE mag zwar für SAP BW Nutzer attraktiv erscheinen, ist jedoch im Industrievergleich relativ ungewöhnlich. Das Python Modul hana-ml zur Steuerung der PAL stellt hier zwar ein Schritt in die richtige Richtung dar, weist derzeit aber gleichzeitig einen beschränkten Funktionsumfang und gewisse Einschränkungen auf. Diese Faktoren führen in der Praxis häufig zu einer geringen Akzeptanz der PAL durch Data Scientists.

Fehlende GPU Unterstützung

Viele moderne und beliebte Machine Learning Algorithmen, gerade im Bereich Deep Learning, setzen auf die Anwendung von GPUs statt CPUs. Auf diese Weise können im Vergleich zur Verwendung von CPUs leicht Performance-Steigerungen um einen Faktor von über 10 erreicht werden. Die PAL bietet leider keine Möglichkeit, die Nutzung von GPUs zu ermöglichen und büßt in vielen Anwendungsfällen somit einen Teil des Performancevorteils wieder ein. 

Komplizierter Zugriff auf externe Datenquellen

Heutzutage stammen viele Daten für Analysen aus externen Quellen, wie Non-SAP-Datenbanken, APIs oder sozialen Medien. Mit der PAL können als Datenquellen nur HANA Tabellen verwendet werden. Zwar ist es möglich, externe Datenquellen an die HANA anzuschließen oder über ETL Prozesse zu importieren, jedoch ist dieser Umweg aufwändiger als in vielen anderen Advanced Analytics Tools, bei denen externe Datenquellen häufig direkt für Analysen eingebunden werden können. 


Mögliche Alternativen zur PAL

Falls Sie die In-Database Analytics Möglichkeiten der HANA nutzen wollen, sich aber nicht um eine Auswahl der Algorithmen oder ein Parameter Tuning kümmern wollen, können Sie die SAP HANA Automated Predictive Library (APL) verwenden, die insgesamt einen sehr ähnlichen Workflow zur PAL aufweist. Der Unterschied ist hier, dass der Fokus der APL auf Automated Analytics liegt: Algorithmen werden zur Beantwortung einfacher Business-Fragen automatisch gewählt und feinjustiert. 

Als weiteres SAP-Tool kommt die Anwendung SAP Predictive Analytics (PA) in Frage, die sich jedoch eher an Business-Anwender statt an Data-Scientists wendet und einen eher GUI-basierten Modellierungsansatz besitzt. Weiterhin fallen hier zusätzliche Lizenzkosten an und auch der Vorteil der In-Database Analytics geht verloren, da eine Ausführung auf dem Application Server erfolgt. Wollen Sie mehr über SAP Predictive Analytics erfahren, finden Sie hier unseren Artikel zu diesem Thema.

Weiterhin lässt sich noch die Lösung SAP Data Intelligence als Alternative zur PAL nennen. Da es sich hier jedoch um eine recht neue Lösung aus dem Hause SAP handelt, gibt es hier bisher wenig Erfahrungswerte und eine begrenzte Dokumentation. Trotzdem handelt es sich um eine technologisch starke Lösung, die auch im Bereich Data Management eine Vielzahl von Funktionen aufweißt.

Für Data Science Anwender stehen im SAP HANA Ökosystem schließlich eine R-Integration sowie die SAP HANA External Machine Learning Library  (EML) bereit. Die R-Integration erlaubt es, Code der beliebten Open-Source Programmiersprache R innerhalb von SQLScript einzubinden und auf einem externen Server auszuführen. Ganz ähnlich erlaubt die SAP HANA External Machine Learning Library, über SQLScript auf bereits vortrainierte und extern bereitgestellte Machine Learning Modelle des Frameworks TensorFlow zuzugreifen und Prognosen zu generieren (einen Link zu unserem Artikel zur EML finden Sie hier).

Sollte keine der SAP Lösungen für Machine Learning und Advanced Analytics für Sie in Frage kommen, gibt es zuletzt auch die Möglichkeit, eine Datenbankschnittstelle für Ihre Data Scientists bereitzustellen und einen zusätzlichen, individuell konfigurierbaren Open-Source Stack zu verwenden. Unser NextLytics Python Software Development Kit (NLY-SDK) bietet Ihnen neben einem hochperformanten HANA-Datenbank-Konnektor auch viele nützliche Zusatzfunktionalitäten, mit denen Sie die optimale Bedingungen und die maximale Flexibilität für Ihre Machine Learning und Advanced Analytics Entwicklungen bereitstellen.

 

Unser Fazit - SAP HANA Predictive Analysis Library

SAP Predictive Analysis Library beinhaltet als Teil der SAP Application Function Library (AFL) SQLScript Prozeduren für analytische Algorithmen wie Clustering, Klassifizierung und Regression. Mithilfe der PAL können die Algorithmen direkt in HANA ausgeführt werden. Diese Integration in die SAP BW-Landschaft stellt einen enormen Vorteil dar. So müssen Daten nicht von der HANA Datenbank zu Machine Learning oder Advanced Analytics Tools der Drittanbieter und zurück transferiert werden. Dank der leistungsstarken Hardware der HANA wird die Ausführungszeit erheblich verkürzt. 

Allerdings sind nur eine begrenzte Anzahl an Algorithmen vorhanden, die genutzt werden können. Außerdem kann das Werkzeug nicht direkt auf externe Datenquellen zugreifen. Zwar können die Daten redundant in HANA geladen werden, dies ist aber oftmals aufgrund des verbreiteten Silodenkens nicht erwünscht. Ferner haben die meisten Data Scientists und Fachanwender vermutlich noch nie mit SQLScript und den SAP spezifischen Tools gearbeitet. Dies könnte die Akzeptanz beim Anwender reduzieren.

Ob die SAP HANA Predictive Analysis Library als Produkt für Sie die richtige Lösung ist, hängt von vielen Faktoren ab. Um diese Frage zu beantworten, legen wir Ihnen unser Whitepaper “SAP BW und State of the Art Machine Learning” ans Herz. In diesem Whitepaper beleuchten wir neben dem gesamten Machine Learning Portfolio von SAP auch einen Open Source unterstützten Ansatz auf Basis des NextLytics Python Software Development Kits (NLY-SDK) und geben klare Empfehlungen, wie Sie das Meiste aus Ihren Daten herausholen können.

Erfahren Sie mehr über Machine Learning und KI

Themen: SAP HANA, Machine Learning

Beitrag teilen

Sie haben eine Frage zum Blog?
Fragen Sie Sebastian Uhlig