Flexibleres BPM durch Graphdatenbanken

6. Oktober 2014

graphdatenbankGastbeitrag von Helmut Heptner. Wir erleben einen Übergang von traditionellen Geschäftsprozessmanagement-Systemen auf Basis relationaler Datenbanksysteme, die im Zeitalter von „Big Data“ den Anforderungen selbst nach Umstellung und Neuprogrammierung nicht gewachsen wären, hin zu Systemen basierend auf Graphdatenbanken. Vorreiter dieser Entwicklung sind populäre Social Network Anbieter wie Facebook, Google+ und Twitter, um nur einige Beispiele zu nennen. Allen gemeinsam sind große Teilnehmerzahlen und eine unüberschaubar große Anzahl an Beziehungen zwischen den Anwendern, die dennoch bei Bedarf in Sekundenschnelle zu den unterschiedlichsten Auswertungen kombiniert werden können.

Was ist eine Graphdatenbank und wie unterscheidet sie sich von klassischen Datenbanken?

Eine relationale Datenbank ist vereinfacht dargestellt eine Sammlung von Tabellen (den Relationen), in deren Zeilen Datensätze abgespeichert sind. Dieses Modell ist wegen der wachsenden Datenmengen und der ständig ansteigenden Zahl der bestehenden und möglichen Beziehungen zwischen den Daten für viele Bereiche, vor allem auch als Grundlage für Business Process Management Systeme (BPMS) nicht optimal geeignet. Berechnungen dauern umso länger, je größer die Datenmenge ist und je komplexer die Beziehungen zwischen den Daten sind.

Heutige Anforderungen werden durch Graphdatenbanken besser erfüllt. So genannte NoSQL-Technologien gewinnen rasend schnell an Beliebtheit. Der bekannteste und größte Anbieter dieser Technologie ist wohl Neo Technology mit Neo4j (http://www.neo4j.org), einer in Java implementierten Open-Source-Graphdatenbank. Die Entwickler selbst beschreiben Neo4j auf ihrer Webseite als eine transaktionale Datenbank-Engine, die Daten anstatt in Tabellen in Graphen speichert. Für einen praktischen Einstieg in Theorie und Praxis der Graphdatenbanken ist neo4j.org mit den dort bereitstehenden Informationen und Videos eine hilfreiche Anlaufstelle.

Bekanntestes Beispiel für die Anwendung von Graphdatenbanken ist der „Social Graph“ von facebook. Dieser Graph nutzt Beziehungen zwischen Menschen. Die für einen Graph typischen Knoten repräsentieren Menschen, jedem Knoten wird dabei der Name der Person zugeordnet. Die Kanten (zweites Element von Graphdatenbanken) repräsentieren Beziehungen. Diese sind unter anderem durch einen Typ charakterisiert wie „gefällt mir“, „ist befreundet mit“, „gefällt mir nicht“ u.a. Einfache Beispiele für solche Graphen sind Stammbäume mit Familienangehörigen als Knoten und Kanten als Beziehungen zwischen Eltern und Kindern, Streckenpläne des öffentlichen Nahverkehrs, IT-Netzwerkstrukturen oder eben auch Prozessabläufe im BPM.

Emil Eifrem, CEO von Neo Technology, drückt das so aus: “Die weltweit innovativsten Unternehmen – darunter Google, Facebook, Twitter, Adobe und American Express, haben bereits auf die Graphen-Technologien umgestellt, um die Herausforderungen komplexer Daten im Kern anzugehen.”

Wenn es um große („Big Data“), verteilte und unstrukturierte Datenmengen wie u.a. beim Geschäftsprozessmanagement geht, sind die Graphdatenbanksysteme traditionellen Datenbanksystemen meist haushoch überlegen.

Vorteile: Wieso und in welchen Szenarien Graphdatenbanken traditionelle Datenbanken übertrumpfen

Aktuell gibt es drei Trends in der Datenverarbeitung:

  • Durch die Zunahme an Anwendern, Systemen und Daten, die erfasst werden sollen, steigen die Datenmengen exponentiell an. Ausdruck dieser Entwicklung ist das seit etwa 2013 etablierte Buzz Word „Big Data“.
  • Die Datenmengen befinden sich nicht mehr auf nur einem zentralen System, sondern oft verteilt, um Redundanz sicherzustellen, Performance zu optimieren und die Auslastung zu steuern. Bekannte Beispiele für diese Entwicklung sind Amazon, Google und andere Cloud-Anbieter.
  • Datenstrukturen werden komplexer und vernetzter durch das Internet, soziale Netzwerke und offene Schnittstellen zu Daten aus verschiedensten Systemen.

Diese Trends sind mit etablierten Datenbanksystemen nicht mehr zu beherrschen. Graphdatenbanksysteme sind nicht nur eine Antwort auf diese Herausforderungen, diese machen sogar ihre Stärke aus:

  • Im Gegensatz zum Entwurf für eine relationale Datenbank ist die Datenmodellierung für einen Graphen deutlich einfacher. Im Grunde reicht es aus, Geschäftsprozessschritte als Elemente aufzuzeichnen, untereinander mit Pfeilen zu verbinden und abschließend Bedingungen und Eigenschaften zu definieren. Ein so erstelltes Datenmodell kann meist unverändert in die Datenbank übernommen werden. Dadurch muss man nicht länger Programmierer oder Datenbankspezialist sein. Alle Beteiligten können das Modell verstehen und an wechselnde Anforderungen anpassen, ohne die Integrität des Graphen und der zugehörigen Infrastruktur anzutasten.
  • Bei Geschäftsprozessen ist das flexible Datenmodell der Graphdatenbanken deutlich agiler als andere Systeme. Das liegt schon in der Natur der Sache begründet: Geschäftsprozesse werden als Graphen modelliert. Entscheidungen, die auf sich entwickelnden unternehmenskritischen Daten basieren, können mit Hilfe von Abhängigkeiten und Regeln ebenfalls abgebildet werden. Die Modellierung von Geschäftsprozessen durch Graphen unterstützt die Agilität, weil schnell und wiederholbar auf Prozessänderungen und Prozessmanagement reagiert werden kann.
  • Graphdatenbanken sind leistungsfähiger als konkurrierende Technologien, da sie die Beziehungen bei Abfragen nicht neu berechnen, sondern ihnen folgen. Der Grund: Die Beziehungen werden in der Graphdatenbank bereits beim Einfügen erstellt und stehen danach sofort zur Verfügung. Abfragen beginnen am Startknoten und folgen den Beziehungen zwischen den Knoten. Das ermöglicht beispielsweise Echtzeitabfragen und damit sofortige, exakte und nutzbringende Interaktionen. Die Graphdatenbanksysteme sind also vor allem deshalb auf dem Vormarsch, weil sie bestehende Relationen zwischen den Daten nicht erst zur Laufzeit berechnen, sondern einfach nutzen.
  • Weitere Stärken der Graphdatenbanken liegen im Design (Zuverlässigkeit) und in über Jahrhunderte ausgereiften mathematischen und erkenntnistheoretischen Grundlagen (Dateneinsicht).

Die Vorteile bei der Verwaltung von Geschäftsprozessen

Dass die Graphdatenbanken vor allem in großen Unternehmen mit vielen und komplexen Prozessen Vorteile bieten, liegt vor allem in der naturgemäßen Abbildbarkeit von Geschäftsprozessen und im flexiblen Design der Graphen. Erfahrungsgemäß unterliegen Geschäftsprozesse kontinuierlichen Änderungen und müssen „on-the-fly“ angepasst werden. Bei Verwendung relationaler und anderer Datenbankmodelle ist das nicht ohne weiteres möglich, das BPMS muss unter Umständen durch Spezialisten aufwändig aktualisiert werden und steht möglicherweise nicht unterbrechungsfrei zur Verfügung. Bei einem BPMS, das auf einer Graphdatenbank-Technologie basiert wie Comindware Tracker, sind solche Änderungen dagegen unterbrechungsfrei im Live-Betrieb möglich.

Ein weiterer Vorteil liegt in der Anpassungsfähigkeit der Graphdatenbanken an Entwicklungen im Unternehmen. Geschäftsprozesse reifen mit der Zeit, immer mehr Mitarbeiter werden einbezogen, immer neue Bedingungen und Abhängigkeiten müssen berücksichtigt werden. In Graphdatenbanken werden einfach neue Knoten definiert, Übergänge mit Bedingungen hinzugefügt und Eigenschaften definiert – schon sind die dahinter liegenden Geschäftsprozesse korrekt abgebildet.

Hauptvorteil der Graphdatenbanken ist deren Fähigkeit, nicht nur die Daten zu verwalten und für Auswertungen bereitzustellen, sondern auch die Geschäftsregeln zu speichern. Damit wird der an den Prozessen beteiligte Mitarbeiter von Routinearbeiten entlastet und das Potential der Wissensarbeiter steht während der Prozesse zur Verfügung.

Fazit

Während bei relationalen Datenbankanwendungen oft genug auf Bekanntes zurückgegriffen werden kann, beschreiten Entwickler von Graphdatenbank-Anwendungen Neuland. Comindware, Anbieter der BPM-Lösung Comindware Tracker, wurde 2008 gegründet und ist ein junges, modernes Unternehmen, das sich den Anforderungen an moderne BPM-Systeme stellt und schnell auf 70 Mitarbeiter gewachsen ist. Die Gründer erkannten, dass die meisten Geschäftsprozesse unstrukturiert sind oder sich im Laufe der Zeit ändern und dass eine moderne BPM-Lösung diesen Anforderungen gewachsen sein muss. Comindware hat die Graphdatenbank Neo4j genutzt und auf deren Basis für eigene Lösungen die patentierte ElasticData Technologie entwickelt.

Autorenprofil

Der Autor und ehemalige Acronis Geschäftsführer Helmut Heptner ist seit März 2012 Geschäftsführer der Comindware GmbH und verantwortet das operative Geschäft in Zentraleuropa. Comindware zählt zu den Pionieren im adaptiven Business Process Management und beschäftigt derzeit weltweit über 70 Mitarbeiter. Die Lösung Comindware Tracker wird von Unternehmen wie Gazprom Avia und einem großen deutschen Autobauer eingesetzt.

Kategorie: Allgemein, BPM, BPMS Ein Kommentar »

Vorheriger Beitrag: Von der Pyramide zum Haus – Neue Auflage des Praxishandbuch BPMN
Nächster Beitrag: BizDevs – die neue Art der Zusammenarbeit von Business und IT?

Eine Reaktion zu “Flexibleres BPM durch Graphdatenbanken”

  1. Text und Tier | Der Social Graph von facebook als moderne Graphdatenbankanwendung

    […] Was ist so toll an Facebook? Unter dem Gesichtspunkt von Geschäftsmanagementsystemen ist es die dahinter liegende Technik. Graphdatenbanken erobern die Welt der Geschäftsprozessmanagement-Systeme. Was aber ist eine Graphdatenbank und wie unterscheidet sie sich von klassischen Datenbanken? Helmut Heptner, Geschäftsführer der Comindware GmbH erläutert die Hintergründe auf dem Blog “Kurze Prozesse”. […]