Benutzer-Werkzeuge

Webseiten-Werkzeuge


public_v6:iot:influxdb

Dies ist eine alte Version des Dokuments!


InfluxDB

InfluxDB eignet sich hervorragend dafür sich wiederholende Messwerte aus dem IoT-Umfeld in einer Datenbank zu speichern. Dazu reicht Anfangs bereits ein Raspberry PI aus.

Wichtig ist es die grundlegenden Konzepte von InfluxDB zu verstehen. Leider ist die offizielle Doku hier nur mäßig hilfreich, weil Sie immer die Nähe zu SQL betont, was aber leicht dazu führen kann, dass man auf die falsche Fährte gerät.

InfluxDB speichert Daten nicht in relationalen Tabellen!

Daten werden in einer oder mehreren Zeitreihen (Measurements) gespeichert, wobei jede Zeitreihe ein in sich konsistentes Datenschema aufweisen muss. Man kann verschiedene Schemas nicht mischen oder anpassen. Sollte sich das Datenformat ändern, legt man einfach eine neue Zeitreihe an.

Die Gliederungsebenen sind:

  1. Database - Sammlung von Zeitreihen
  2. Measurement - Folge von zusammengehörigen Datenpunkten mit dem gleichen Schema (Zeitreihe)
  3. Series - eine logisch zusammenhängende Folge von Datenpunkten mit der gleichen 'Tag'-Kombination
  4. Point - ein einzelner Messwert in einer Zeitreihe

Das Datenschema wird anders als bei relationalen Datenbanken nicht in der Datenbank erzeugt. Statt dessen es ist Aufgabe der Datenquelle das Datenformat festzulegen (beim ersten Schreiben eines Datenpunktes). Man kann das Datenformat auch nicht nachträglich ändern, sondern startet einfach eine neue Zeitreihe mit dem geänderten Format.

Die Daten in Messpunkten können für die spätere schnelle Suche und Gruppierung indiziert werden. Dazu wird das Datenfeld als Tag gekennzeichnet (Achtung, Tags werden immer als Strings interpretiert!). Die weiteren Daten werden als Fields bezeichnet und als Name/Wert Paare gespeichert die als Datentypen float, integer und boolean unterstützen.

Jedem Messpunkt ist ein timestamp zugeordnet. Dieser wird entweder von der Datenquelle mitgeliefert, oder von InfluxDB erzeugt.

Am einfachsten versteht man das, wenn man das LineProtokoll benutzt: https://docs.influxdata.com/influxdb/cloud/reference/syntax/line-protocol/

Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
public_v6/iot/influxdb.1616562355.txt.gz · Zuletzt geändert: 2021/03/24 05:05 von admin