pixel
Seite wählen

InfluxDB Time Series Database

von | Feb 24, 2022 | InfluxDB

In diesem Beitrag geht es um Zeitreihen-Daten (time series data) und InfluxDB (time series databases).

 

Time Series Data

Was sind eigentlich die time series data? Es gibt Programme oder Tools, die eine große Menge an Rohdaten sammeln. Diese Daten haben ein wichtiges Merkmal: Wenn die Daten produziert werden, haben diese einen Zeitstempel. Jene Daten spiegeln die Veränderungen wider, die im Laufe der Zeit passiert ist. Daher können wir diese Werte als zeitabhängigen Vektor betrachten.

Die Daten haben manchmal die Eigenschaft der Kontinuität, beispielsweise können die Temperatur einer Umgebung oder die check-Ergebnisse von einem Überwachungssystem wie Icinga über die Zeit kontinuierlich gespeichert werden.

Diese Daten haben drei wichtige Merkmale:

  • Die Daten erreichen uns nahezu zeitgleich mit der Erfassung.
  • Die Daten kommen normalerweise geordnet bei uns an.
  • Die Registrierungszeit ist einer der wichtigsten Eigenschafen.

Mit anderen Worten: Die einzige Operation besteht darin, neue Daten zu den vorherigen Daten hinzuzufügen.

 

Time Series Database

Zeitreihendatenbanken (time series database) sind Datenbanken, die speziell zum Speichern und Untersuchen von Zeitreihendaten entwickelt wurden. Diese Daten werden im Allgemeinen in Wert-Zeit Paaren gespeichert. Zeitreihendatenbanken sind für die Arbeit mit Wert-Zeit Paaren optimiert – sie verwenden beispielsweise Komprimierungsalgorithmen, um Daten effizienter zu verwalten.

Einige dieser Datenbanken ermöglichen es auch, Änderungen in Daten zu prüfen und diese in Diagramme umzuwandeln. Zu den wichtigsten Zeitreihendatenbanken gehören:

  • Riak
  • kdb+
  • IMB Informix
  • InfluxDB
  • Prometheus
  • eXtremeDB
  • IBM Informix on Cloud
  • Azure Time Series Insights
  • TimescaleDB
  • Druid
  • OpenTSDB
  • Gtaphite

InfluxDB

InfluxDB ist eine Open Source Zeitreihendatenbank, die vom InfluxData-Team entwickelt wurde. InfluxDB wurde mit der Go-Sprache entwickelt und ist einfach zum Installieren und Bedienen. Die Menge der Daten, die man sammeln kann, ist unbegrenzt, und es spielt keine Rolle, wie oder in welchem ​​Format die Daten an InfluxDB übermittelt werden. Es gibt außerdem die Möglichkeit, anhand der Daten im InfluxDB-Webinterface Graphen darzustellen – diese können z.B. in Überwachungssystemen wie Icinga nützlich sein.
InfluxDB ist stärker gewachsen, als andere Zeitreihendatenbanken. Und dadurch, dass es ein Open Source Programm ist, ist der Quellcode einfach zu verwenden!

 

InfluxDB Funktionen

Es gibt einige Faktoren, die InfluxDB von anderen Datenbanken unterscheidet.
Gute Leistung ist eines der Hauptmerkmale von InfluxDB. Diese ermöglicht es, die Daten mit guter Geschwindigkeit und guter Qualität zu verwenden, selbst bei hoher Datenlast. Zu diesem Zweck verwendet InfluxDB Komprimierung zum Verwalten von Daten und kann 1 Million Daten pro Sekunde sammeln und verwalten.

Wenn Du mit der SQL-Syntax vertraut bist, wirst Du  auch mit der InfluxDB-Abfrage vertraut sein. InfluxDB verwendet eine eigene Syntax namens InfluxQL. Angenommen, Du sammelst Daten aus dem Speicher eines Computers, und möchtest diese Daten anzeigen. Dann musst Du nur eine SQL-Abfrage schreiben – diese nimmt die Daten der letzten 3 Monate und gruppiert sie in 10-Tage-Pakete.

Beim Umgang mit großen Datenmengen wird es schwierig sein, sie zu speichern und zu pflegen, und mit der Zeit werden diese Daten immer komplexer. InfluxDB kann diese Daten in kleineren Größen und genauer über lange Zeiträume speichern.
Mithilfe der Datenspeicherungsrichtlinien, auf die Du in InfluxDB Zugriff hast, kannst Du Deine Einstellungen so anpassen, dass Deine Daten bis zu 30 Tage lang genau verfügbar sind. Danach kannst Du sie bis zu 6 Monate oder länger speichern oder für immer aufbewahren. Mit dieser Funktion kannst Du Daten speichern und gleichzeitig Festplattenspeicher sparen.

Saeid Hassan-Abadi
Saeid Hassan-Abadi
Junior Consultant

Saeid hat im September 2019 seine Ausbildung zum Fachinformatiker im Bereich Systemintegration gestartet. Der gebürtige Perser hat in seinem Heimatland Iran Wirtschaftsindustrie-Ingenieurwesen studiert. Er arbeitet leidenschaftlich gerne am Computer und eignet sich gerne neues Wissen an. Seine Hobbys sind Musik hören, Sport treiben und mit seinen Freunden Zeit verbringen.
Mehr Beiträge zum Thema InfluxDB

So repliziert man Daten mit InfluxDB

Mit InfluxDB 2.0 hat influxdata einen großen Schritt gewagt und viele Neuerungen eingeführt. Hierzu gehören unter anderem die Integration von Webinterface und Task-Engine und DBMS, aber auch die neue Abfragesprache Flux. Ein paar Funktionen, die in es in InfluxDB 1.x...

Grafana queries InfluxDB

Christoph hat euch ja bereits in einem früheren Blogpost vor ca. einem Jahr näher gebracht wie man Icinga 2 und InfluxDB 2 miteinander "zum Reden" bringt. Seit Icinga 2.13 steht nun auch der Influxdb2Writer zur Verfügung, welchen Afeef in seinem Blogpost benützt. Ich...

It’s just an Influx Task – Scrapers

Ein Scraper in Influx ist eine einfache Möglichkeit Performancedaten von einer Prometheus Datenquelle abzurufen. Das Prometheus Datenformat besteht aus verschiedenen Typen von Metriken, die in Plain-Text über http von einem Agenten oder einer Software angeboten...

Icinga 2 mit InfluxDB 2

Die Überwachung von Infrastruktur und Software ist eine grundlegende Sache in der IT. Beim Monitoring spielt aber nicht nur der Status und die Benachrichtigung der zu überwachenden Objekte eine wesentliche Rolle, sondern auch die Aufbewahrung und die nachträgliche...