Graphdatenbanken im Internet of Things Unzählige Verbindungen schnell und einfach verwalten

Autor / Redakteur: Holger Temme / Nico Litzel |

Cisco prognostiziert, dass es bis zum Jahr 2020 rund 50 Milliarden vernetzte Geräte geben wird. Das heißt aber auch, dass sicherlich weit mehr als 50 Milliarden Verbindungen entstehen – und das Verstehen und Verwalten dieser Verbindungen wird mindestens genauso wichtig sein wie das Management der Geräte selbst.

Anbieter zum Thema

Der Autor: Holger Temme ist Area Director CEMEA bei Neo Technology
Der Autor: Holger Temme ist Area Director CEMEA bei Neo Technology
(Bild: Neo Technology)

Das Verständnis von Verbindungen ist der Schlüssel zum Erkennen von Abhängigkeiten und zum Aufdecken von Kettenreaktionen. Personen sind mit ihren Smartphones (und den Apps auf diesen Telefonen) verbunden, Geräte sind miteinander verbunden (z. B. intelligente Stromzähler) und medizinische Geräte – etwa Defibrillatoren an öffentlichen Plätzen – können mit einer Notfallzentrale verbunden sein.

Diese Verbindungen sind essentiell, um Chancen für neue Produkte und Dienstleistungen im Internet of Things (IoT) zu identifizieren. Die meisten IoT-Anwendungen müssen mit dynamischen und sich schnell wandelnden Systemen arbeiten: Regelmäßig werden neue Gerätetypen und Anwendungen angeschlossen, die sich alle nahtlos in das Netzwerk einfügen müssen. Dazu ist ein Datenmodell erforderlich, das sich ohne übermäßigen Aufwand bei der Anpassung von Datenbankstrukturen und Anwendungen sowie ohne Beeinträchtigung der Verfügbarkeit von Anwendungen weiterentwickeln kann.

Relationale Datenbanken sind aufgrund ihrer rigiden Struktur und fehlenden Skalierbarkeit nicht für beliebig dynamische Datenstrukturen geeignet und erfassen nur einen Bruchteil der Daten. Aber in der Zwischenzeit ist eine neue Generation von Datenbanktechnologien entwickelt worden, die ohne vordefinierte und feste Schemata auskommen – eine allgemein bekannte Einschränkung von SQL-Datenbanken.

Das IoT verlangt nach neuen Datenbanken

Diese Art der Flexibilität ist eine zentrale Bedingung für das IoT, da sich die Einführung neuer Generationen von Geräten mit neuen Datentypen nicht vorhersehen lässt. Die NoSQL-Datenbanken tragen Änderungen meist problemlos Rechnung und modellieren die Unterschiede zwischen verschiedenen Gerätetypen sowie die Leistungs- und Skalierbarkeitsanforderungen, die für IoT-Anwendungen charakteristisch sind.

In Abhängigkeit von funktionalen Anforderungen sowie Datengeschwindigkeiten und -mengen reichen die Datenbankoptionen von Hadoop für die Offline-Analyse über Key-Value- oder Dokumentdatenbanken für die Datenverwaltung in Echtzeit bis hin zu Graphdatenbanken, die in ihrer Struktur bereits die Verbindungen abbilden.

Die Verbindungen zwischen Geräten und anderen Einheiten können sich schneller ändern als die Eigenschaften der einzelnen Objekte. Jedes Mal, wenn unter Nutzung von Telekommunikationsdaten eine neue Person angerufen oder ein neues Gerät autorisiert wird, wird eine neue Verbindung hergestellt. Dasselbe gilt in einer industriellen Umgebung, wenn ein neues Gerät angeschlossen wird. Es sucht möglicherweise nach den relevanten Steuereinheiten oder anderen Geräten, von denen es Befehle entgegennehmen oder an die es Daten senden muss. Durch das Ein- oder Ausschalten eines Geräts können Dutzende Verbindungen hergestellt oder unterbrochen werden.

Die natürliche Methode zur Darstellung derartiger Verbindungen ist ein Graph. So besteht beispielsweise ein Telekommunikationsnetzwerk aus einer Reihe von Knoten (Mobilfunkmasten) sowie von sogenannten Kanten, die die Verbindungen (Leitungen) abbilden. Genauso basieren die meisten IoT-Anwendungen auf einem oder mehreren Objekten, von denen jedes einzelne über zahlreiche Verbindungen verfügt und die häufig miteinander verknüpft sind.

Unabhängig davon, ob ein Unternehmen eine Netzwerk- oder Anwendungsinfrastruktur optimieren, Änderungen verwalten oder den Zugriff aus Sicherheitsgründen verwalten möchte: Die Beziehungen sind in den seltensten Fällen linear oder hierarchisch. Stattdessen bilden sie beliebig vernetzte Strukturen, also ein Netzwerk oder Graph – und diese sind häufig sehr dynamisch. Sie ändern sich von Minute zu Minute (z. B. Ausfallzeit von Objekten) oder im Lauf der Zeit aufgrund von Personaländerungen, Fusionen und Übernahmen, der Inbetriebnahme neuer sowie der Außerdienststellung alter Anwendungen.

Graphdatenbanken spielen bei vernetzten Daten ihre Stärken aus

Mithilfe von Graphdatenbanken lassen sich Tausende von Querverbindungen zwischen Knoten in einem Netzwerk darstellen. Im Gegensatz zu relationalen Datenbanken ermöglichen sie eine flexible Modellierung von Informationen und Beziehungen. Sie sind dazu konzipiert, problemlos und mit hoher Performance Netzwerke von Daten zu modellieren und in ihnen zu navigieren.

Verbindungen sind dabei mehr als nur reine Referenzen zwischen Einheiten: Jede einzelne davon kann eine Vielzahl von Informationen enthalten, etwa Richtung, Typ, Qualität, Gewicht und Vieles mehr. All das kann in einer Graphdatenbank als integraler Bestandteil jedes Beziehungsobjekts dargestellt werden.

In diesem Kontext beschreiben Beziehungsattribute jede einzelne Verbindung genauer. Attribute können anzeigen, beispielsweise wann die Verbindung hergestellt wurde, welcher Art die Verbindung ist oder welche Daten mit der Verbindung verknüpft sind. Genauso wie die Daten, die Objekte beschreiben, können sich auch die Attribute von Verbindungen in rasantem Tempo ändern.

Während es theoretisch möglich ist, einen Graphen mit Attributen sowohl für Knoten als auch für Verbindungen in anderen Datenbankverwaltungssystemen mehr oder weniger gut darzustellen, nutzen eine Vielzahl der einsatzfähigen Anwendungen, die auf sich schnell verändernden und komplexen Graphen basieren, eine Graphdatenbank. Diese Technologie kann multidimensionale Netzwerke von Verbindungen äußerst schnell verarbeiten. Unternehmen wie Twitter, Google oder LinkedIn mussten ihre eigenen Graphdatenbanken noch selbst entwickeln. Mittlerweile lassen sich auch kommerzielle Formen wie Neo4j von Neo Technology für IoT-Anwendungen ohne großen Aufwand einsetzen.

Relationale Datenbanken basieren auf Tabellen. Beziehungen lassen sich also nicht direkt umsetzen. Stattdessen wird der Primärschlüssel einer der beiden Tabellen als Fremdschlüssel der anderen Tabelle in eine zusätzliche Spalte aufgenommen. So lassen sich einfache Beziehungsabfragen, wenn auch langsam, in einer relationalen Datenbank ausführen. Sie muss dafür sogenannte Joins von der Primär- und Fremdschlüssel-Tabelle berechnen. Jedoch bringen selbst geringfügig komplexe Abfragen das System zum Stocken und geben möglicherweise nicht einmal eine Antwort zurück. Derartige Abfragen strapazieren eine Datenstruktur, die nicht für die Abbildung von beliebigen Verbindungen konzipiert wurde. Aufgrund der Natur von Graphdatenbanken lassen sich dort hingegen beliebig skalierbare Abfragen ohne Verzögerungen durchführen.

Fazit

Die Vernetzung und Dynamik des IoT führt zu immer komplexeren Datenstrukturen, die sich nicht mehr ohne Weiteres beherrschen lassen. Angesichts unterschiedlicher Anwendungsfälle können die jeweiligen Anforderungen nicht mit einer universellen Technologie, sondern nur mit mehreren Speziallösungen erfüllt werden. Es ist ersichtlich, dass die Verwaltung der Verbindungen oder Beziehungen im IoT eine besondere Herausforderung darstellt. Da sich vernetzte Systeme am sinnvollsten in Graphen darstellen lassen, sind Graphdatenbanken eine natürliche Wahl für die Verwaltung der vernetzten Anforderungen von IoT-Anwendungen.

Graphdatenbanken garantieren das reibungslose Verwalten, Speichern und Abfragen der Verbindungen im IoT. In der Telekommunikationsbranche, dem wahrscheinlich größten Vorreiter des IoT, gehören sie bereits standardmäßig zum Werkzeugkasten von Unternehmen. Der Vorteile von Graphdatenbanken ermöglichen die Entwicklung von innovativen Anwendungen und letztendlich das Erreichen von Wettbewerbsvorteilen. Die Analysten von Forrester prognostizieren daher, dass 2017 über 25 Prozent der Unternehmen Graphdatenbanken verwenden werden.

(ID:43249281)