InfluxDB: Erklärung, Nutzen und erste Schritte

Was ist InfluxDB?

InfluxDB: Erklärung, Nutzen und erste Schritte

Durch die Aufzeichnung wissenschaftlicher oder technischer Messdaten mit Sensoren werden in kürzester Zeit große Datenmengen generiert, die zusammen mit dem Zeitstempel des Messzeitpunkts verarbeitet werden. Diese Zeitreihendaten erfordern spezielle Datenbanken. Dieser Artikel befasst sich mit InfluxDB, einem Datenbankverwaltungssystem (DBMS), das speziell für diese Aufgabe entwickelt wurde.

Index
  1. Was ist InfluxDB?
  2. Wann wird InfluxDB verwendet?
  3. Was sind die Vorteile von InfluxDB?
  4. Beginnen Sie mit InfluxDB
  5. Ein Überblick über die wichtigsten Neuigkeiten in InfluxDB Cloud 2.0

Was ist InfluxDB?

InfluxDB ist ein von InfluxData, Inc. entwickeltes Datenbankverwaltungssystem. InfluxDB ist Open Source-Software und kann kostenlos verwendet werden. Die kommerzielle Version? InfluxDB Enterprise? Es bietet Wartungsverträge und spezielle Zugriffskontrollen für gewerbliche Kunden und ist auf einem Server innerhalb des Unternehmensnetzwerks installiert.

Die neueste Version, InfluxDB 2.0, ist auch als vollständig reaktionsfähiger Cloud-Dienst mit einer webbasierten Benutzeroberfläche zum Aufzeichnen und Visualisieren von Daten verfügbar .

Die InfluxDB-Datenbank des Managementsystems wurde in Go , der Programmiersprache von Google, auch bekannt als Golang, entwickelt. In der ersten Version wurde die InfluxQL-Abfragesprache verwendet, um externe Datenbanken abzufragen, eine Originalkreation des Herstellers. Stattdessen diente InfluxDB 2.0 zur Einführung der neuen Programmiersprache Flux , die von der Firma InfluxData auf GitHub unter der MIT-Lizenz als Open-Source-Software veröffentlicht wurde. Dort entwickeln sie dieses Projekt unter Beteiligung anderer Entwickler weiter, die mit Zeitreihendaten arbeiten.

Flux ist eine eigenständige Skript- und Abfragesprache für Zeitreihendatenbanken (TSDB). Es kann ab Version InfluxDB 1.7 oder völlig unabhängig und sogar in Kombination mit Datenbanken anderer Anbieter verwendet werden.

Flux wurde für den ETL-Prozess (Extract, Transform, Load) in Datenbanken optimiert und ist nicht mit der zuvor verwendeten InfluxQL-Abfragesprache kompatibel. Der Anbieter plant jedoch, einen Migrationspfad für seine Stammkunden zu entwickeln, der die Übersetzung des InfluxQL-Codes in Flux umfasst.

Die Syntax von Flux basiert auf der beliebten JavaScript-Skriptsprache und ist daher leicht zu erlernen und flexibel zu verwenden. Ein wesentliches Merkmal von Flux ist die Kompatibilität mit verschiedenen Datenquellen , beispielsweise durch die Verwendung von APIs von Drittanbietern.

See also  Galerie-Plugins für WordPress: Fotogalerien für Ihre Website

Auf diese Weise kann Flux mit Analysewerkzeugen wie Jupyter arbeiten. Die Apache Arrow-Datenaustauschschnittstelle ermöglicht die Kommunikation mit anderen Systemen und die Integration in Big Data-Umgebungen.

Wann wird InfluxDB verwendet?

InfluxDB wird für Zeitreihen – Datenbanken (TSDB) ausgebildet, die Speicherzeit Serie . Diese Datenbanken werden unter anderem verwendet, um Daten von Sensoren oder Protokollen mit Zeitstempeln für einen bestimmten Zeitraum zu speichern und auszuwerten.

In diesen Fällen können Millionen von Datensätzen, wie sie beispielsweise von Geräten des Internet der Dinge oder wissenschaftlichen Messinstrumenten bereitgestellt werden, über einen kontinuierlichen Datenstrom eingegeben werden. Diese Art von Daten muss schnell verarbeitet werden, sobald sie die Datenbank erreichen.

Aus diesem Grund verfügt InfluxDB über einen Zeitdienst, der das Network Time Protocol (NTP) verwendet, um sicherzustellen, dass die Zeit auf allen Systemen synchronisiert ist.

InfluxDB-Datenbanken sind normalerweise sehr kompakt und benötigen nur zwei oder drei Spalten . Dort werden beispielsweise die Datenquelle, der Wert selbst und der entsprechende Zeitstempel gespeichert.

Sensor Wert Zeit
Sensor 1 140,50 23.04.2020 @ 10:00 Uhr
Sensor 2 110.02 23.04.2020 @ 10:00 Uhr
Sensor 1 142,32 23.04.2020 @ 10:05 Uhr
Sensor 2 110,50 23.04.2020 @ 10:05 Uhr
? ? ?

InfluxDB unterscheidet zwischen Tags und Feldern . Während Tags nur Metadaten enthalten, die im Index enthalten sind, enthalten Felder Werte, die später ausgewertet werden können. Daher ist in unserem Beispiel die erste Spalte ein Tag und die zweite ein Feld . Diese Unterscheidung erleichtert die Verwaltung der Datenbank und die Auswertung der Messdaten.

Was sind die Vorteile von InfluxDB?

TSDBs wie InfluxDB sind beim Speichern und Verarbeiten von Messdaten mit Zeitstempel viel schneller als relationale Datenbanken. Ein Datenbankverwaltungssystem (DBMS) widmet einen Teil seiner Leistung der Organisation eines komplexen Index, der in diesem Anwendungsbereich nicht verwendet wird. InfluxDB kann auch eine hohe Schreibgeschwindigkeit beibehalten, da es einen sehr einfachen Index verwendet.

Im Gegensatz zur Vorgängerversion 1.x bietet InfluxData eine Cloud-Lösung mit der neuen InfluxDB Cloud 2.0 für Amazon Web Services (AWS), Google Cloud Platform (GCP) oder Microsoft Azure. Beim sogenannten Serverless-Computing (Serverless Computing) benötigt der Client keine eigene Serverinfrastruktur.

See also  CouchDB Präsentation

In der Cloud-Variante ist es nicht erforderlich, einzelne Server zu reservieren, da sich das System automatisch an die aktuelle Aktivitätslast anpasst. Dies ist ein großer Vorteil in industriellen IoT- oder maschinellen Lernanwendungen, da die Tendenz besteht, die Datenmengen zu oszillieren. In der ersten Version fehlten noch bestimmte Komponenten, der sogenannte TICK-Stack mit Produkten wie Telegraf, Chronograf und Kapacitor. Stattdessen enthält InfluxDB 2.0 bereits alles, was Sie benötigen.

In der lokalen Variante, die auf einem eigenen Server installiert ist, konzentriert sich das gesamte Datenbankverwaltungssystem auch auf eine einzige Programmdatei , die bisher nur für 64-Bit-Linux- und Linux für ARM-Prozessoren verfügbar ist , macOS und als Docker-Container. Telegraf kann weiterhin als Sammelagent für InfluxDB 2.0 verwendet werden, unabhängig von anderen ähnlichen Agenten.

Beginnen Sie mit InfluxDB

Als Willkommensgeschenk bietet InfluxDB kostenlosen Zugang zu InfluxDB Cloud 2.0. Dies ermöglicht nicht nur den Testzugriff auf die Datenbank auf Testbasis, sondern auch auf die gesamte gehostete Zeitreihendatenplattform mit Mehrbenutzerfähigkeit. InfluxDB Cloud 2.0 enthält auch Module zum Sammeln, Auswerten und Visualisieren gespeicherter Daten.

Die kostenlose Version unterliegt Lese- und Schreibbeschränkungen: maximal 10.000 Datensätze und eine maximale Speicherdauer von 30 Tagen. Diese Einschränkungen verhindern in der Regel nicht die Realisierung von Amateurprojekten, so dass in diesen Fällen die kostenlose Version ausreicht. Diese kostenlose Version kann später auf eine kostenpflichtige Version aktualisiert werden, ohne dass die bereits gespeicherten Daten verloren gehen.

In einem ersten Schritt müssen Sie ein kostenloses Benutzerkonto auf der Registrierungsseite von InfluxDB Cloud 2.0 erstellen. Klicken Sie auf den Bestätigungslink in der E-Mail.

Melden Sie sich nach Überprüfung des Benutzerkontos an und wählen Sie einen Cloud-Anbieter aus. In Europa funktioniert InfluxDB Cloud 2.0 derzeit nur mit Amazon Web Services (AWS). Dies behindert jedoch nicht die Verwendung der kostenlosen Version. Wenn Sie bereits Benutzer von Amazon Web Services oder Google Cloud Platform (GCP) sind, können Sie InfluxDB-Cloud-Produkte über die Stores der Cloud-Dienstanbieter abonnieren.

Sobald Sie sich angemeldet haben, zeigt Ihnen InfluxDB Ihr persönliches Dashboard, in dem Sie Ihre Daten sammeln und anzeigen können. Sie können Daten mithilfe von Telegraf-Treibern, der InfluxDB v2-API, der Influx-Befehlszeilenschnittstelle (CLI) oder direkt in der InfluxDB-Benutzeroberfläche erfassen. Client-Bibliotheken sind auch für verschiedene gängige Programmiersprachen verfügbar.

See also  Erstellen Sie eine Homepage in WordPress: Schritt-für-Schritt-Anleitung

InfluxDB Cloud-Startbildschirm
Auf dem InfluxDB Cloud 2.0-Startbildschirm werden die Daten in das Projekt geladen und eigene Dashboards erstellt (Quelle: https://cloud2.influxdata.com/).

Sie können Telegraf-Konfigurationen interaktiv erstellen oder vorhandene verwenden, um die Daten an die InfluxDB-Cloud 2.0-Instanz zu senden. Sobald die InfluxDB-Cloud für die Datenerfassung konfiguriert ist, werden persönliche Dashboards zum Abfragen und Visualisieren der Daten erstellt.

Im InfluxDB-Datenexplorer können Sie die gesammelten Daten untersuchen und visualisieren. Hier können Sie die Aktualisierungszeiten und Anzeigezeiträume nach Ihren Wünschen anpassen. Die InfluxDB-Benutzeroberfläche bietet eine Reihe attraktiver Anzeigeoptionen. Über die Weboberfläche können Sie problemlos zwischen Flux Creator und der manuellen Bearbeitung von Datenbankabfragen wechseln.

Auch auf die? Verwendung? Sie können jederzeit die Nutzung der Datenbank konsultieren, um abzuschätzen, ob Sie möglicherweise durch eine kostenpflichtige Version entschädigt werden.

Ein Überblick über die wichtigsten Neuigkeiten in InfluxDB Cloud 2.0

Kostenlose Version (mit Einschränkungen): Sie benötigen keine Downloads, Installationen oder Ihre eigene interne Serverinfrastruktur. Direkte Einführung in die InfluxDB 2.0-Technologie. Die kostenlose Version wurde entwickelt, um Sie mit InfluxDB vertraut zu machen und kleine Hobbyprojekte durchzuführen.

Flux-Kompatibilität : Flux ist eine Zeitreihen-Datenbankabfrage- und Skriptsprache , die durch einfache Wiederverwendung von Code eine höhere Produktivität ermöglicht. Flux wurde für die Arbeit mit Daten in InfluxDB 2.0 entwickelt und optimiert, kann jedoch auch in Kombination mit anderen Datenquellen verwendet werden.

Homogene API – Die homogene InfluxDB-v2-API ermöglicht den Zugriff auf alle InfluxDB-Komponenten wie Datenerfassung, Abfrage, Speicherung und Visualisierung. Auf diese Weise können Sie problemlos von der installierten Open Source-Version zu InfluxDB Cloud 2.0 wechseln.

Visualisierung und Dashboards : Basierend auf dem vertrauenswürdigen Chronograf-Projekt aus der ersten Version von InfluxDB können mit der neuen Cloud-Benutzeroberfläche Ergebnisse viel schneller und in Echtzeit angezeigt und abgefragt werden.

Pay-As-You-Go-Versionen : Die nutzungsbasierte Abrechnung bietet mehr Flexibilität als ein selbst gehostetes Datenbanksystem und bietet Ihnen die Garantie, dass Sie nur für das bezahlen, was Sie tatsächlich verwenden.

administrator

Leave a Reply

Your email address will not be published. Required fields are marked *