Informatik-Theorie wird Praxis durch Hana

Die Graphentheorie ist ein fixer Bestandteil der Mathematik und Informatik, somit wohlerforscht und präzise ausformuliert. Als Datenbank-Maschine ist diese Theorie relativ jung – aber erfolgreich.
E-3 Magazin
3. Februar 2016
Inhalt:
2016
avatar

Während SAP die eigene Datenbank Hana marketingmäßig als Zeitmaschine verkauft – Realtime Enterprise –, versuchen sich einige Wissenschaftler bei SAP in seriöser Grundlagenforschung.

Entstanden ist unter anderem eine Graph Engine, die auf der Hana-Plattform neben dem SQL auch eine Datenbankmaschine nach dem Prinzip der Graphentheorie liefert. Bereits in dem Whitepaper SAP PAL (Predictive Analysis Library) finden sich zahlreiche Hana-Funktionen, die weit über den SQL-Sprachraum hinausgehen.

Beim Graph Processing in Hana ist SAP jedoch noch einen Schritt weiter gegangen, weil es hier nicht nur die Graph Engine gibt, sondern auch einen Compiler für die Graph-Programmiersprache Wipe.

Naturgemäß sind Graphen nicht immer besser als SQL-Tabellen, aber viele Pro­bleme aus dem realen Leben lassen sich durch Graphen besser abbilden oder liegen ohnehin intuitiv bereits als Graph vor. Das vielleicht bekannteste Beispiel ist das Travelling-Salesman-Problem.

Ein Handlungsreisender muss bestimmte Orte aufsuchen und versucht, die Wegstrecke zu optimieren. Die Orte sind die Knoten des Graphen und die Verbindungslinien – Straßen, Fluglinien etc. – zwischen den Knoten sind die Kanten.

Meistens verwendet man gerichtete Kanten. In der Umgangssprache Pfeile genannt, damit kann man angeben, dass nicht nur zwei Orte über eine Verbindung zusammenhängen, sondern auch wie und ob man von einem zum anderen Ort kommen kann.

Die Theorie beschäftigt sich sowohl mit gerichteten als auch ungerichteten Graphen. Zu Beginn ist die Graphentheorie sehr intuitiv: Ein komplexes Straßensystem kann man sehr gut als Graph darstellen.

Wenn sich nun dieses System auf den beiden Landseiten eines Flusses befindet und es nur eine Brücke gibt, die diese zwei Teilsysteme verbindet, dann spricht auch der Graphen-Theoretiker von Brücke. Als Datenbankmaschine werden überwiegend gerichtete Kanten verwendet, die so Beziehungen zwischen den Knoten definieren.

Ein Graph ist demnach die allgemeine Bezeichnung für eine abstrakte Struktur, die eine Menge von Objekten zusammen mit den zwischen diesen Objekten bestehenden Verbindungen repräsentiert, in der Mathematik als Knoten und Kanten bezeichnet.

Sowohl die Knoten als auch die Kanten können Eigenschaften, sogenannte Properties, besitzen. Graphen werden meistens dargestellt durch einzelne Kreise, die mit Linien verbunden sind. Weitere anschauliche Beispiele dafür sind Stammbäume, Mind-Maps oder das U-Bahn-Netz einer Stadt.

In einer Graphdatenbank lassen sich Daten in Form von Graphen speichern, verwalten und abfragen. Sie eignen sich besonders gut, stark vernetzte und unstrukturierte Informationen anschaulich darzustellen.

Denn sie messen den gespeicherten Daten (beispielsweise Kunden oder Produkten) und der Beziehung zwischen diesen Daten (beispielsweise „wer kauft was“ oder „welcher Kauf fand zuerst statt“) die gleiche Bedeutung bei. Diese Beziehungen werden also nicht mehr als bloße Metadaten abgetan, sondern stehen vielmehr im Zentrum des Modells.

Graphdatenbanken unterstützen unzählige dieser gerichteten Beziehungen zwischen den einzelnen Instanzen. So entsteht ein umfangreicher semantischer Kontext für die Daten. Verbindungen und Abhängigkeiten in Personen-, aber auch Produktnetzwerken, wie Telekommunikationssysteme oder das immer stärker wachsende Internet of Things, können so umfangreich angegeben werden. Darauf aufbauend lassen sich neue Services entwickeln oder bestehende verbessern.

Die Hana-Plattform bietet die Möglichkeit, eine Graphdatenbank aufzubauen. Dazu gibt es die selbst entwickelte Programmiersprache Wipe, die sich noch in einem geschlossenen Ramp-up-Status befindet. Es kann somit sein, dass sich Produktnamen bis zur finalen Freigabe noch ändern können.

Noch ist die Graph-Community unter den Hana-Experten und bei den Partnern und Bestandskunden sehr überschaubar. Ob sich dieser Ansatz im ERP-Umfeld zu einer Mainstream-Bewegung durchsetzen kann, ist offen.

Tatsache aber ist, dass sich viele analytische und Big-Data-Probleme aus dem realen Leben mit einer Graphdatenbank sehr elegant abbilden lassen. Im Bereich Predictive Analytics sollten demnach Wipe und die Hana Graph Function Library einen festen Platz bekommen.

avatar
E-3 Magazin

Information und Bildungsarbeit von und für die SAP-Community.


Schreibe einen Kommentar