Hilfe! Umzug Datensystem MariaDB und InfluxDB

Hallo zusammen.

Ich möchte gerne das Datenbanksystem besser organisieren.

Bisheriger Zustand:
Leider habe ich das System für die Datenspeicherung nicht richtig verstanden und versuche es jetzt zu verbessern.

So wie ich das sehe, speichere ich die kurzzeitdaten aud MariaDB ( Windows Server ) und die Langzeitdaten auf InfluxDB ebenfalls auf Windows Server.

Jetzt habe ich mir einen NUC zugelegt und würde gerne die Kurzzeitdaten in einem LXC auf MariaDB speichern und die Langzeitdaten ebenfalls auf einem LXC auf InfluxDB speichern.

Wie bekomme ich die Daten jetzt am besten auf die LXC??

Ich denke, das ich eh einen Fehler gemacht habe!!

In der yaml steht die MariaDB mit 5 Jahren aufbewahrungszeit drinnen.
Die MariaDB ist jetzt schon 29GB groß.

InfluxDB ist mit 3GB OK. Wobei ich das Speichersystem nicht verstehe.

Gruß Udo

Moin,

Fehler nicht, aber zu viele Gedankenklimmzüge :wink:

Also, eigentlich speichert HA die Daten ja in einer SQLite Datenbank in HA, wer das nicht möchte, richtet sich eine mariaDB, mysql, postgresql Datenbank ein, dann werden die Daten da gespeichert.
Eine influxDB läuft immer nur parallel zur oben aufgeführten Datenbank.

Welche Daten speichert HA, in SQLite, oder mariaDB, oder mysql, oder postgresql, zum einen alles an Kurzzeitdaten, und aus einigen dieser Daten macht HA auch Langzeitdaten, ohne dass man etwas einstellen muss.
Den Parameter, den Du in der configuration.yaml gemacht hast wirkt sich aber auf die Kurzzeitdaten aus, und nicht auf die Langzeitdaten, daher ist die DB auch 29 GB groß, weil jedes Event, etc. jetzt 5 Jahre aufgehoben wird.

Eigentlich braucht man influxDB nicht, da ja HA von sich aus, schon historische Daten in seiner Datenbank anlegt, nur wer länger als 1 Jahr daten aufheben möchte, der kann sich parallel eine influxDB einrichten und zusätzlich die wichtigen Daten dort ablegen, da sollte man auch nicht alles sichern sonder nut die Werte die einem wichtig sind.

Zum Umzug der Daten, bei mariaDB machst Du, nachdem du HA gestoppt hast, einen Dump, das ist so ähnlich wie ein Backup und diesen Dump spielt man in die neue mariaDB, wenn die neue mariaDB die gleiche IP, Namen hat wie die alte, musst Du in HA nichts umstellen.

Bei der influxDB ist das etwas anders, denn es hängt davon ab welche Version eingesetzt ist V 1.8 oder eine V 2.7.x.

VG
Bernd

P.S.: hier noch ein Beispiel wie HA Langzeitdaten speichert, Inden Kurzzeitdaten, ist die Auflösung größer, das heißt, es gibt mehr Messwerte, nach 10 Tagen werden die Daten aggregiert, also aus x Sekündlichen Messwerten werden Minuten oder Stunden, z. B. die hast 60 Messwerte in der Minute, dann werden diese 60 Messwerte aggregiert und anschließend hast du nur noch 1 Messwert pro Minute.

P.P.S.:

Was genau, unter dieser Formulierung kann ich mir wiederum nichts vorstellen :wink:

Hallo Bernd,

danke erst mal für die Erklärung.
Genau das habe ich mir gedacht, dass ich die Daten doppelt speichere.

MariaDB habe ich, weil mein HA bisher auf einen Raspberry gelaufen ist.

Sind jetzt in der InflixDB nur Langzeitdaten? Ich habe sie mit dem Addon Influx verbunden.

In Zukunft möchte ich gerne 2 Datenbanken betreiben wenn das sinn macht.
Eine in der alle Langzeitdaten sind. Hier möchte ich alle Daten jedoch gefiltert nach Sensordaten Zähler usw. Ich benötige hier keine Schaltereignisse.

In der Kurzzeitdatenbank möchte ich gerne alle Daten haben. ca. einen Monat. So das ich Schaltereignisse usw. nachvollziehen kann.

Wie löse ich das jetzt am besten mit meinen 2 vorhandenen Datenbanken?

Das Speichersystem ist mir jetzt klar.

Gruß Udo

Wie kommst Du auf das eine Jahr?
Die Langzeitstatistik die übrigens für alle Sensoren mit einer definierten State Class erstellt wird, ist zeitlich nicht begrenzt.

Gruß
Osorkon

Moin,

Das hängt ja von Deiner Einstellung ab, wie lange ist den die Aufbewahrungsfrist in influxDB für die Datenbank eingestellt.
Du kannst ja auch sagen, halte mir die Daten in der influxDB nur 7 Tage, dann ist da nichts mit Langzeitdaten, oder Du gibst die retention time auf = unendlich, dann werden keine Daten jemals in der influxDB gelöscht.

Nochmal, die influxDB läuft parallel zur HA Datenbank, alles, was Du da zusätzlich machst, musst Du auch selbst administrieren, aufräumen, da macht HA nichts!

Und Du drehst Dich wieder im Kreis.
Wenn Du nur die HA Datenbank nimmst, SQLite, mariaDB, mysql, what ever, dann hast Du sowohl Kurzzeitdaten, wie auch Langzeitdaten in einer Datenbank.
Die Langzeitdaten sind aber nicht in der Datenbank vorhanden, sondern nur 1 Jahr glaube ich.

Möchtest Du mehr, dann kannst Du Dir die gewünschten Daten zusätzlich noch in eine influxDB schreiben lassen, mit der gewünschten retention time.

In der HA internen Datenbanken werden auch nur Werte in die Langzeittabellen aufgenommen die Sinn machen, ein schalt event natürlich nicht.
Wie lange dann die Daten im Kurzzeitgedächtniss von HA liegen regelst Du ja über das Pruning, das was Du da schon mal in der configuration,yaml mit 5 Jahre eingetragen hast, wenn Du das auf 30 Tage stellst, dann werden die Kurzzeitdaten danach gelöscht, und die Daten die als Langzeitdaten behaltenwerden aggregiert und abgespeichert.

Das kann sein, das ich das mal irgendwo aufgeschnappt habe, was vielleicht auch komplett falsch sein kann, ich kann es noch nicht verivizieren, da ich erst seit ~ 9 Monaten HA nutze :slight_smile:

VG
Bernd

Hallo,

ich habe die InfluxDB in der YAML konfiguriert.
Wie stelle ich hier die retention ein?
Da habe ich nichts eingestellt.

Gruß Udo

Ist eine Einstellung, die Du direkt in InfluxDB einstellen kannst.
Und ist eine Eigenschaft des Bucket (influxDB 2.x)

Gruß
Osorkon

1 „Gefällt mir“

Moin,

Wie oben schon geschrieben, hängt das davon ab, welche Version von influxDB, Du nutzt.

Bei >= V 2.7.x, so wie @Osorkon in der UI von influxDB, in der V 1.8, entweder auf der Kommandozeile, oder aber Du installierst Dir noch chronograf, da kann man das auch einstellen, ich habe keine 1.8er mehr, kann ich also nicht testen.

Kleine Anmerkung.

influxDB braucht man eigentlich nur, wenn man Daten aus ioBroker, Node-RED und Home Assistant in Grafana anzeigen möchte.

Sonnst mach HA sein Ding selbst. Und auch MariaDB wird nicht mehr benötigt, da HA SQL wesentlich schneller geworden ist.

1 „Gefällt mir“

Hallo,

dann kann ich mir influx sparen.
Funktioniert die Langzeitspeicherung in SQL Lite ebenfalls?

Ich probiere mal mariadb zu SQL Lite zu konvertieren.

Gruß Udo

Moin,

Ja, denn das ist ja kein Feature des Datenbankmanagers, sondern von HA.

Das kannst nur Du wissen, aber Ja.
Wie ich oben geschrieben habe, influxDB läuft parallel zur Datenbank in HA, ist also kein Ersatz, diese.

Auf einen Aspekt, sind wir noch nicht eingegangen, was hast Du in der Vergangenheit mit den Daten in der influxDB gemacht, hast Du die irgendwie ausgewertet, z. B. mit Grafana?
Wenn Du keine besonderen Ansprüche an Diagrammen usw. hast, dann reicht HA + einige HACS Erweiterungen, wie
https://github.com/RomRider/apexcharts-card/
https://github.com/kalkih/mini-graph-card

VG
Bernd

Hallo,

mein Gedankengang war grafana.
Aber ehrlich gesagt, habe ich es bis jetzt noch nicht benutzt, da ich das meiste über Handy oder Tablet mache.
Ich Wollte nur Sicherstellen, dass ich es jederzeit könnte.

Ich schaue mir mal die Graphen von deinem Post an und entscheide dann ob ich Influx abschalte.

Gruß Udo

Eine persöhnliche Anmerkung:

HA und Grafana sind keine Freunde.
Ich habe riesen Probleme meine Datenpunkte in Grafana anzuzeigen.
Während ioBroker (der Adpater) jede Stunde Daten schreiben kann auch wenn diese sich nicht ändern, macht die HA Integration das eben nicht.
Hier werden die Datenpunkte nur bei einer Änderung geschrieben.
Somit sind viele Datenpunkte nach ein paar Stunden ungültig oder eher leer.
Mein Workaround ist die Benutzung von Node-RED oder pyScript das die Daten ‘Händisch’ nochmals in die Datenpunkte schreibt.

Kann ich nicht empfehlen.

Ist aber wie gesagt, meine persöhnliche Erfahrung.