Sensoren- und Internet-of-Things-Daten zuverlässig speichern Zeitreihendatenbanken für das Speichern von Messdaten

Autor / Redakteur: Thomas Joos / Dr. Jürgen Ehneß

Zeitreihendatenbanken sind darauf spezialisiert, große Datenmengen, die teilweise in Echtzeit eingehen, schnell speichern zu können. Ideal ist das für Sensordaten und andere Informationen in Internet-of-Things-Infrastrukturen. Der Beitrag gibt einen Überblick über bekannte Datenbanken in diesem Segment.

Firma zum Thema

Sensoren und IoT-Geräte produzieren ungeheure Mengen unstrukturierter Daten, die sich in Zeitreihendatenbanken speichern lassen.
Sensoren und IoT-Geräte produzieren ungeheure Mengen unstrukturierter Daten, die sich in Zeitreihendatenbanken speichern lassen.
(Bild: ©Funtap - stock.adobe.com)

Zeitreihendaten nehmen exponentiell an Umfang und Beliebtheit zu. Es handelt sich im Wesentlichen um eine Sammlung von numerischen Werten, die bestimmten Zeitstempeln zugeordnet sind. Diese werden dazu verwendet, zu beschreiben, wie sich Dinge im Laufe der Zeit verändern. Einfach ausgedrückt, speichern die Datenbanken Datenstreams mit Zeitstempeln. Die Daten gehen in kontinuierlicher Form in der Zeitreihendatenbank ein und werden beim Eingang gespeichert.

Bildergalerie

Einstieg in Zeitreihendatenbanken

Zeitreihendatenbanken speichern Daten, die in einem Zeitfluss eingehen, zum Beispiel von Sensoren oder Industry-of-Things-Geräten, aber auch Wetter- und Finanzdaten. Die Stärke gegenüber herkömmlichen Datenbanken besteht darin, dass parallel auch Messdaten gespeichert werden können, die nicht typisiert oder definiert sind.

Solche unstrukturierten Daten sind für Zeitreihendatenbanken kein Problem. Auch in der Überwachung von Netzwerken werden die Datenbanken eingesetzt, da sie über Zeitstempel den Status von Netzwerkgeräten an verschiedenen Zeitpunkten erfassen können. Im Allgemeinen handelt es sich bei Zeitreihendatenbanken um NoSQL-Datenbanken.

Die Daten in solchen Systemen werden erfasst und gespeichert und sind anschließend analysierbar. Dazu können zusätzliche grafische Tools eingebunden oder Daten abgefragt werden. Einige Zeitreihendatenbanken verfügen über integrierte Tools zur Analyse und Visualisierung.

InfluxDB – Zeitreihendatenbank für Sensoren und IoT

InfluxDB gehört zu den bekanntesten Zeitreihendatenbanken. Die Datenbank ist schemalos und vor allem für den Einsatz mit Sensoren sinnvoll. Die Daten können mit der Abfragesprache Flux aus der Datenbank ausgelesen werden. Zeitreihendatenbanken wie InfluxDB haben den Vorteil, dass sie sehr schnell Daten speichern können. Das nachträgliche Bearbeiten solcher Daten ist kein Schwerpunkt der Datenbanken. Im Fokus stehen das schnelle Speichern und das Zur-Verfügung-Stellen von Daten. InfluxDB wurde mit Go entwickelt. InfluxDB unterstützt zahlreiche Programmiersprachen, unter anderem:

  • .Net,
  • Clojure,
  • Erlang,
  • Go,
  • Haskell,
  • Java,
  • JavaScript,
  • JavaScript (Node.js),
  • Lisp,
  • Perl,
  • PHP,
  • Python,
  • R,
  • Ruby,
  • Rust,
  • Scala.

Prometheus – Zeitreihendatenbank für das Monitoring

Prometheus ist ein Projekt der Cloud Native Computing Foundation (CNCF). Die Datenbank findet häufig in Umgebungen Einsatz, die zahlreiche Server und Netzwerkgeräte überwachen müssen. Die Datenbank wird in diesem Zusammenhang mit Grafana eingesetzt.

Die Zeitreihendatenbank erfasst Metriken von Systemen, auch in Microservices-Umgebungen wie zum Beispiel Kubernetes oder OpenShift. Auch Prometheus wurde in Go entwickelt. Die Open-Source-Datenbank wird in vielen Umgebungen eingesetzt, in denen auch andere Lösungen der CNCF Einsatz finden. Die Knoten von Prometheus sind im Netzwerk verteilt und arbeiten autonom. Das verbessert die Skalierbarkeit und Ausfallsicherheit der Datenbank.

OpenTSDB – läuft mit Hadoop und HBase

OpenTSBB ist eine Zeitreihendatenbank, die auch mit Hadoop und HBase zusammenarbeitet. Das System speichert seine Daten in HBase. Das System arbeitet mit Time Series Daemons (TSDs) in einem HBase-Cluster. Es ist auch möglich, mehrere Cluster in verschiedenen Rechenzentren zu betreiben. Cluster sollten aber nach Empfehlung der Entwickler nicht über mehrere Rechenzentren aufgeteilt werden.

Neues eBook

Speicher-Technologien im Vergleich

HDD, Flash & Hybrid: Der passende Speicher für jeden Einsatz

eBook HDD, Flash und Hybrid
eBook HDD, Flash & Hybrid
(Bildquelle: Storage-Insider)

In diesem eBook lesen Sie, welche verschiedenen Speicher es gibt und welche Vor- und Nachteile diese haben. Inhalt:

# Der passende Speicher für jeden Einsatz - HDD, SSD und Tape
# HDDs: Heimvorteil und neue Technologien - Festplatten
# Flash-SSDs & Co.: wie ein geölter Blitz - Flash-Speicher
# Storage-Arrays unter die Haube geschaut - SSD, HDD und Hybrid
# Tape: die Kunst der Langzeitarchivierung - Bandlaufwerke


>>> eBook „HDD, Flash & Hybrid: Der passende Speicher für jeden Einsatz“ downloaden

TimescaleDB – PostgreSQL für Zeitreihen

Die dritte bekannte Datenbank in diesem Bereich ist TimescaleDB. Die Datenbank baut auf PostreSQL auf und steht als Open Source zur Verfügung. Einfach ausgedrückt, ist die Open Source eine Zeitreihendatenbankerweiterung für PostgreSQL. Die Entwickler stellen aber auch eine Cloud-Version zur Verfügung, wie bei InfluxDB auch. Die Entwickler geben an, dass Abfragen wesentlich schneller durchgeführt werden können als bei anderen Datenbanken und auch bei anderen Zeitreihendatenbanken. Im IoT-Bereich und für Sensoren kommen allerdings besser Datenbanken wie Prometheus und InfluxDB zum Einsatz. TimeScaleDB steht für Windows, Linux und macOS zur Verfügung. Die Datenbank unterstützt verschiedene Programmiersprachen, zum Beispiel:

  • .Net,
  • C,
  • C++,
  • Delphi,
  • Java info,
  • JavaScript,
  • Perl,
  • PHP,
  • Python,
  • R,
  • Ruby,
  • Scheme,
  • Tcl.

AWS Timestream – die Zeitreihendatenbank von Amazon

AWS Timestream ist eine Zeitreihendatenbank, die Amazon in AWS zur Verfügung stellt. Die Datenbank ist vollständig verwaltet und verursacht deutlich weniger Kosten bei der Speicherung großer Mengen an Zeitreihendaten. Da die Datenbank vollständig verwaltet ist, ähnlich wie InfluxDB Cloud und TimescaleDB Cloud, müssen keine eigenen Server verwaltet werden. Allerdings erfolgt hier die Speicherung in der Cloud, genauso wie bei InfluxDB Cloud und TimescaleDB. Die Datenbank arbeitet auch mit den anderen IoT-Diensten in AWS zusammen, was vor allem den Einsatz in IoT-Infrastrukturen sinnvoll macht. Da die Datenbank vollständig verwaltet ist, lässt sie sich sehr schnell bereitstellen und skalieren.

Microsoft Azure – Time Series Insights

Auch Microsoft bietet in Azure eine Zeitreihendatenbank mit der Bezeichnung „Time Series Insights“ an. Wie bei Amazon arbeitet auch diese Datenbank mit den IoT-Lösungen in Azure eng zusammen. Die Datenbank ist vollständig verwaltet und für den Einsatz in IoT-Szenarien optimiert.

Graphite – Monitoring mit Zeitreihen

Graphite ist ein Monitoring-System, das zur Überwachung von Netzwerken genutzt werden kann und seine Daten in Zeitreihen speichert. Das System steht unter der Apache-2.0-Lizenz als Open Source zur Verfügung. Der Vorteil von Graphite ist, dass die Daten auch als Diagramm mit Bordmitteln angezeigt werden können. Die Graphiken des Tools sind anderen Datenbanken in diesem Beitrag überlegen. Wer im Netzwerk Zeitreihen erfassen und die Daten einfach grafisch aufbereiten will, sollte sich die Möglichkeiten von Graphite näher anschauen.

Die Bereitstellung ist wesentlich einfacher als bei anderen Systemen. Im Vergleich zu anderen Zeitreihendatenbanken ist der Einsatz von Graphite außerhalb der Überwachung kaum sinnvoll. Im Vergleich zu OpenTSB und anderen Datenbanken in diesem Bereich ist Graphite bei großen Datenmengen schneller überlastet.

Bildergalerie

(ID:47483389)