Datenbank aufräumen, säubern und klein halten

RudiP

Well-known member
Gestern überraschte mich HA mit der Meldung, das ihm der Festplattenspeicher knapp werden würde.
"Was ? Kann nicht sein" war mein erster Gedanke. Immerhin hatte ich HA damals 100 GB zugewiesen. Die können doch unmöglich voll sein.
Im Internet fand ich dann einen Hinweis, wie man das prüfen kann. Den Weg kannte ich auch noch nicht.
Einstellungen -> System -> Reparaturen und dann rechts oben die 3 Punkte auswählen und "Informationen zum System".
Weit unten unter "Recorder" findet man dann die Datenbank und siehe da, die hat eine Größe von knapp 57 GB. Ufff
Unter Einstellungen -> System -> Speicher sieht man auch, wie voll die Festplatte ist und ja, 96 GB von 100 GB belegt ist nicht so toll.

Nun gut. Ich habe mir erst mal damit geholfen, das ich HA mal schnell 100 GB zusätzlich gegeben habe, was dank Proxmox überhaupt kein Problem war.
Aber das kann natürlich nicht die Lösung des Problems sein.
Nun bin ich ein Freund davon, gewisse Daten auch mal was länger zur Verfügung zu haben, so 2 - 3 Jahre wären da schon fein. Damit kann man dann auch mal die PV Produktion oder den Gasverbrauch mit den letzten Jahren vergleichen.
Also habe ich in der configuration.yaml den Eintrag
Code:
recorder:
  purge_keep_days: 1100
Da die Datenbank aber nun doch deutlich gewachsen ist und das in nur knapp 2 Jahren, kam mir der Gedanke, WAS speichert die Datenbank eigentlich alles und was davon ist unnütz ?
Ich habe z.B. den Müllkalender am laufen. Speichert die Datenbank etwas alle Abfuhrtermine und das über 3 Jahre ?
Wäre ja totaler Blödsinn.
Wurde eine Automatisierung am 21.03.2020 ausgelöst ? Vollkommen unwichtig.
Habe ich vor 5 Wochen mit dem Lichtschalter das Licht angemacht ? Interessiert doch gar nicht mehr.
Aber, wenn HA sowas tatsächlich in der Datenbank speichert, könnte man das ja vom Speichern ausschließen und die Datenbank damit eventuell deutlich kleiner machen.
Taucht also die Frage auf, WAS speichert HA alles in der Datenbank.
InfluxDB -> Explorer und.....
Mist, nach Entitäten kann man wohl nicht suchen.
Ich habe mir dann mal SQLite web installiert, um ein wenig in der Datenbank zu schnüffeln.
ACHTUNG !!! Wer keine Ahnung von Datenbanken hat, sollte da nichts machen. Das Risiko, sich die Datenbank zu zerschiessen ist zu groß.

Nun, ich bin da noch nicht allzu tief in die tiefen der Datenbank eingedrungen, aber meine Befürchtungen scheinen sich bewahrheitet zu haben.
Eine Abfrage der Tabelle "states" erbrachte 195.400.702 Ergebnisse. Die Abfrage dauerte auch mal eben über 3 Minuten.
Ohne den Aufbau der Tabelle bzw. der Datenbank zu kennen wird es schwer, da was vernünftiges raus zu lesen, aber was man sehen kann sind Einträge wie "23:13" oder "am: 05.10.2023" oder "on" bzw. "off".
Das sind genau so Einträge, wie ich meine, braucht kein Mensch über einen längeren Zeitraum. Ich muß jetzt nur noch rausfinden, zu welcher Entität dieser Eintrag gehört um diesen dann in der configuration.yaml in Zukunft vom Speichern in der Datenbank auszuschließen.

Daran werde ich die nächsten Tage arbeiten und euch davon Berichten, so das jeder von euch das Nachvollziehen und auch selbst bei sich Anwenden kann. Ich denke, der ein oder andere hat auch Interesse daran, gewisse Daten über einen längeren Zeitraum zu speichern.
 
Ich habe herausgefunden, wie ich einzelne Entitäten sehen kann. Ich sehe z.B. mein Gasmeter bzw. das freie RAM.
Start der Aufzeichnung 02.10.2023 um 13:00:00 Uhr und seit dem meldet er stündlich seinen Wert.
8114 Einträge befinden sich in der Datenbank, das passt halbwegs, wenn man jeden Tag seit dem 02.10.2023 rechnet, mit 24 multipliziert. Abzüglich einiger Stunden, wo keine Werte Aufgezeichnet wurden, weil HA nicht lief oder das Gasmeter nicht wollte.
Und ehrlich, mich Interessiert es nicht, was das Gasmeter an einem Tag vor über 10 Monaten an freiem Speicher hatte.
Also werde ich diesen Wert, sowie wohl etliche andere von der weiteren Aufzeichnung in der Datenbank ausschließen und dann demnächst mal einen PURGE auslösen und hoffen, das die Datenbank dann deutlich verkleinert wird.
Ich werde Berichten.
 

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
5.286
Beiträge
52.570
Mitglieder
5.044
Neuestes Mitglied
wegeme
Zurück
Oben