kentoh - Fotolia
Wie Sie die richtige IoT-Datenbankarchitektur auswählen
Verstehen Sie die Optionen der IoT-Datenbankarchitektur, einschließlich statischer, Streaming-, Zeitreihen-, SQL- und NoSQL-Datenbanken, um die beste Lösung auszuwählen.
Unternehmen können bei der Entwicklung einer IoT-Datenbank aus vielen Optionen wählen, aber die IT-Experten müssen die beste Lösung finden, indem sie die verschiedenen IoT-Datenbankarchitekturen bewerten, zum Beispiel statisch vs. Streaming vs. Zeitreihen und SQL vs. NoSQL.
Die Wahl der richtigen IoT-Datenbank hängt von den Anforderungen des jeweiligen IoT-Projekts ab. Der erste Schritt bei der Auswahl einer Datenbank besteht darin, die kritischen Merkmale des IoT bei der Auswahl der Datenbankarchitekturen zu berücksichtigen. IoT-Profis müssen die Art der zu speichernden und zu verwaltenden Daten, den Datenfluss, die funktionalen Anforderungen an Analyse, Verwaltung und Sicherheit sowie die Leistungs- und Geschäftsanforderungen bestimmen.
Nachdem die Anforderungen des Unternehmens an eine Datenbank ermittelt wurden, müssen IT-Administratoren die IoT-Datenbankarchitekturen bewerten und prüfen, inwieweit sie den IoT-Datenbedarf fördern oder behindern.
Verstehen Sie statische und streaming IoT-Datenbankarchitekturen
Beginnen Sie damit, den grundlegenden Unterschied zwischen statischen und Streaming-Datenbanken zu verstehen. Statische Datenbanken, auch bekannt als Batch-Datenbanken, verwalten Daten im Ruhezustand. Die Daten, auf die Benutzer zugreifen müssen, liegen als gespeicherte Informationen vor, die von einem Datenbankmanagementsystem (DBMS) verwaltet werden. Die Benutzer stellen Abfragen und erhalten Antworten vom DBMS, das normalerweise, aber nicht immer, SQL verwendet.
Eine Streaming-Datenbank verwaltet Daten in Bewegung. Die Daten fließen ständig durch die Datenbank, wobei eine kontinuierliche Reihe von Abfragen gestellt wird, in der Regel in einer für die Streaming-Datenbank spezifischen Sprache. Die Ausgabe der Streaming-Datenbank kann an einem anderen Ort, zum Beispiel in der Cloud, gespeichert und über Standardabfragemechanismen abgerufen werden.
Streaming-Datenbanken sind in der Regel verteilt, um die Skalierungs- und Belastungsanforderungen großer Datenmengen zu bewältigen. Derzeit gibt es eine Reihe von kommerziellen, proprietären und Open-Source-Streaming-Datenbanken. Dazu gehören bekannte Plattformen wie Amazon Kinesis, Apache Kafka, Azure Stream Analytics, Google Cloud Dataflow, IBM InfoSphere Streams und Microsoft StreamInsight. Außerdem gibt es eine Reihe neuer Startups, darunter Materialize und Rockset.
Bei diesen Plattformen kann es sich um reine Streaming-Datenbanken handeln, die für Echtzeit-Entscheidungen und nahezu sofortige Latenzzeiten optimiert sind. Häufiger handelt es sich jedoch um vereinheitlichte Datenbanken (Unified Databases), die sowohl eine Streaming- als auch eine statische Komponente enthalten. Der Vorteil der statischen Komponente ist, dass sie auf Standardabfragetechniken und -schemata basiert. Diese vereinheitlichten Datenbanken kombinieren also das Beste aus den beiden Welten der Streaming- und der statischen Datenbanken, da sie sowohl die Echtzeitfähigkeiten einer Streaming-Datenbank als auch die Flexibilität der Abfrageverfahren und Schemata einer statischen Datenbank unterstützen.
Für das IoT ist die beste Datenbank für die meisten Anwendungen eine vereinheitlichte Datenbank. Aus diesem Grund umfassen die Datenbanken der meisten gängigen Anbieter beide Arten von Datenbanken.
Untersuchen Sie nuanciertere Datenbankarchitekturen
Zeitreihendatenbanken basieren in vielerlei Hinsicht auf der gleichen Technologie wie Streaming-Datenbanken, wurden aber mit einem etwas anderen Schwerpunkt entwickelt. Zeitreihendatenbanken sind eher taktischer Natur. Sie beinhalten in der Regel die Implementierung spezieller Indizierungstechniken in NoSQL-Datenbanken mit dem Ziel, eine leistungsstarke Ereignisverarbeitung zu ermöglichen. Streaming-Datenbanken sind umfassender und ermöglichen ein breiteres Portfolio an Datenanalysen, zum Beispiel maschinelles Lernen oder Windowing. Anbieter wie InfluxData, Grafana und Prometheus bieten Zeitreihendatenbanken an, ebenso wie größere Anbieter, zum Beispiel Amazon, Google, IBM und Microsoft.
SQL vs. NoSQL?
SQL-Datenbanken sind relational und verfügen über statische Schemata, die beschreiben, wie die Informationen organisiert sind. Das macht sie sehr verwaltbar. Sie haben jedoch Probleme mit der effektiven Skalierbarkeit. NoSQL-Datenbanken sind nicht relational, haben keine Schemata und werden als hochskalierbar und leistungsfähiger als SQL-Datenbanken angepriesen.
Einige Technikexperten könnten denken, dass eine NoSQL-Datenbank die offensichtliche Wahl wäre, da Skalierbarkeit für viele IoT-Anwendungen unerlässlich ist. Aber Skalierbarkeit und Leistung sind nur zwei Faktoren, die Techniker bei der Auswahl von Datenbanken berücksichtigen müssen. Ein entscheidender Faktor in vielen Szenarien ist die einfache Integration in bestehende Systeme, wobei SQL effektiver ist. Viele IoT-Tools und -Systeme setzen SQL voraus. Dies gilt insbesondere in industriellen Umgebungen, die auf älteren Nachrichtenprotokollen oder industriellen Automatisierungsplattformen basieren.
Die Fähigkeit, Schemata zu erstellen und zu verwalten, ist ebenfalls ein Pluspunkt. Auch wenn IT-Techniker die Entwicklung von Schemata als hinderlich empfinden mögen, müssen Informationen organisiert werden. Wenn Sie sich im Vorfeld die Mühe machen, Schemata zu entwickeln, ersparen Sie sich später viel Arbeit bei der Organisation von Daten in einer Umgebung ohne Schema.
Auch die Kombination von statischen und Streaming-Datenbanken kann für Unternehmen eine Herausforderung sein, wenn es um die Wahl zwischen SQL und NoSQL geht. Theoretisch könnte eine statische oder Streaming-Datenbank entweder SQL oder NoSQL sein. In der Praxis sind die Datenbanken jedoch auf die eine oder die andere Art festgelegt. IoT-Techniker, die sich für eine bestimmte vereinheitlichte Datenbank interessieren, werden bei ihrer Entscheidung zwischen SQL und NoSQL möglicherweise durch das Design der Datenbank beeinflusst.
Ob sich ein Unternehmen für eine SQL- oder NoSQL-Datenbank entscheiden sollte, hängt von den allgemeinen funktionalen und technischen Anforderungen ab, insbesondere von der Skalierbarkeit, der Leistung und der Notwendigkeit der Integration in Altsysteme.
Absicherung der IoT-Datenbank
Nicht zuletzt geht es um die Sicherheit der Datenbanken. Obwohl es sich hierbei nicht um eine Schlüsselkomponente der Datenbankarchitektur handelt, ist das Verständnis der Sicherheitsfunktionen und -merkmale der IoT-Datenbank(en) von entscheidender Bedeutung, um Sicherheitsverletzungen zu verhindern, wie der Vorfall bei dem chinesischen Unternehmen Orvibo vor einigen Jahren gezeigt hat. Dazu gehört nicht nur die betriebliche Sicherheit, zum Beispiel das Festlegen des Datenbankpassworts und die klare Definition von Privilegien, sondern auch die Bestätigung, wo und unter welchen Umständen die Daten verschlüsselt werden. In Bewegung? Vor Ort? Außerdem sollten Unternehmen überprüfen, wie IoT-Geräte authentifiziert werden, um sicherzustellen, dass die Datenbank nicht versehentlich Schadsoftware aufnimmt.