Zeitreihen-Datenbanken

InfluxDB

Was sind Zeitreihen-Datenbanken?

  • Spezialisierte Datenbanken für Zeitreihendaten

  • Optimiert für hohe Schreibgeschwindigkeit

  • Anwendungen in IoT, Monitoring, Finanzdaten, etc.

Bedeutung von Zeitreihendaten

  • Daten mit Zeitstempel

  • Analyse von Trends und Mustern über die Zeit

  • Entscheidungsfindung basierend auf historischen Daten

Einführung in InfluxDB

  • Open-Source Zeitreihen-Datenbank

  • Entwickelt von InfluxData

  • Geschrieben in Go

Hauptmerkmale von InfluxDB

  • Hohe Leistung und Skalierbarkeit

  • Abfragesprache (InfluxQL und Flux)

  • Integrierte Unterstützung für Downsampling und Retention Policies

Flux Datenmodell

Flux Datenmodell

Flux Datenmodell Beispiel

Flux Datenmodell

Flux Queries

  • Queries

  • Man kann Tasks usw erstellen

  • Meiner Meinung nach sehr kompliziert

Beispiel eines Flux Queries

from(bucket: "sensordaten")
  |> range(start: -1h)
  |> filter(fn: (r) => r._measurement == "temperature")
  |> mean()
  • Abfrage nach dem Durchschnitt der Temperatur der letzten Stunde

Aufgabenstellung

  • Mqtt

  • InfluxDB

  • Grafana

Architektur

Architektur

Alternativen zu InfluxDB

  • Prometheus

  • Graphite

  • Kdb+

Prometheus

  • Open-Source Monitoring- und Alerting-Toolkit

  • Entwickelt von SoundCloud

  • Hauptmerkmale:

  • Multi-dimensionales Datenmodell

  • PromQL Abfragesprache

Graphite

  • Monitoring-Tool zur Speicherung und Visualisierung von Zeitreihendaten

  • Komponenten:

  • Carbon (Datensammlung)

  • Whisper (Speicherung)

  • Graphite-Web-App (Visualisierung)

  • Vorteile:

  • Einfachheit

  • Große Community

Kdb+

  • Hochleistungs-Zeitreihen-Datenbank

  • Entwickelt von Kx Systems

  • Verwendet die Abfragesprache q

  • Vorteile:

  • Extrem hohe Geschwindigkeit

  • Häufig im Finanzsektor eingesetzt

Vergleich der Zeitreihen-Datenbanken

MerkmalInfluxDBPrometheusGraphite

Schreibgeschwindigkeit

Hoch

Sehr hoch

Mittel

Abfragesprache

InfluxQL/Flux

PromQL

Kein spezielles Query-Interface

Skalierbarkeit

Gut

Sehr gut

Gut

Ecosystem

Groß, viele Integrationen

Aktive Community

Große Community, einfache Integration

Fragen?

Vielen Dank für Ihre Aufmerksamkeit!

Quellen