Hallo zusammen,
ich mache regelmäßig ein Update meines Systems. Das wird logischer Weise immer ein stück größer, da ja die Sensordaten bestimmt mit gesichert werden. Nun würde ich es super finden, wenn es eine einfache Möglichkeit geben würde in Openhab die alten Daten (z.b alles älter als ein Jahr)
löschen zu können. Sonst wir die Datenbank ja immer größer. Gibts dafür eine einfache lösung?
Vorab vielen Dank für eure Unterstützung
Alte Daten löschen
-
- Beiträge: 296
- Registriert: 22. Sep 2018 10:38
Re: Alte Daten löschen
Das Systemupdate hat ja nix mit der Größe der Datenbank zu tun.
Meinst Du Updates der Items?
Ob und wie Du ältere Daten über Board zu werfen kannst, hängt davon ab, welche Datenbank im Einsatz ist.
Meinst Du Updates der Items?
Ob und wie Du ältere Daten über Board zu werfen kannst, hängt davon ab, welche Datenbank im Einsatz ist.
openHAB 4.3.3 @ RPi 4 / SSD - InfluxDB2 und Grafana @ Synology Docker - KNX
- udo1toni
- Beiträge: 15241
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Alte Daten löschen
Was meinst Du mit "wird größer"? Meinst Du wirklich Update, oder nicht vielleicht eher Backup?
Bezüglich System Update: Damit meint man gewöhnlich das Betriebssystem (das "System" ist der Rechner in Kombination mit dem Betriebssystem), z.B. ein Raspberry Pi mit Raspberry Pi OS lite (openHABian Image).
Bei einem solchen Update kommt es zu Änderungen im Platzbedarf, allerdings lediglich durch geänderte Programme.
openHAB als Server (oder auch als Service) wird natürlich durch Änderungen am Code ebenfalls seine Größe von Version zu Version ändern (ja, tendenziell wird es größer, weil ja immer mehr Funktionen hinzukommen, aber das ist nicht fix, es kann auch kleiner werden)
Thema Datenbank: Wenn Du damit die Persistence meinst, wäre die nächste wichtige Frage: welche Persistence verwendest Du denn? Handelt es sich um rrd4j (das wäre die allgemeine Empfehlung, mindestens für den Einstieg), dann muss ich Dir mitteilen, dass sich die Größe nicht ändert.
Niemals.
Unter keinen Umständen.
rrd4j wird unter anderem genau aus diesem Grund verwendet, weil die Dateigröße fix ist. Das wird erreicht, indem bei jedem Speichervorgang eines neuen Wertes der jeweils älteste Wert in der Reihe entfernt wird. Es gibt also eine fixe Speichergröße pro Item.
Deshalb wächst auch die Größe des Backup nicht an - es sei denn, Du hast z.B. weitere Geräte hinzugefügt bzw. Things und Items ergänzt. Beim Backup werden Persistence Daten nur mit gespeichert, wenn dies explizit angefordert wird:
Solltest Du eine andere Datenbank als rrd4j verwenden, ist openHAB raus, denn dann werden die Daten extern verwaltet.
egal ob es dann InfluxDB, My- oder PostGre- SQL oder sonst eine relationale Datenbank ist.
Einzig bei db4o als "interne Lösung" könntest Du tatsächlich ein Anwachsen über die Zeit bemerken, das hat aber nichts mit dem Update zu tun, sondern, wie gesagt, allenfalls mit dem Backup. Ich bin mir aber nicht sicher, ob db4o überhaupt noch von jemandem eingesetzt wird
Es gab mal das Problem (ich meine aber, dass dies behoben ist), dass openHAB beim Erstellen eines Backups dieses in dem Zweig ablegte, welcher gebackupt wurde. Wenn man diese Archive nicht löschte, wurden beim nächsten Backup dann diese Archive alle mit ins Backup gespeichert, was naturgemäß zu exponentiell wachsenden Archiven führt.
Bezüglich System Update: Damit meint man gewöhnlich das Betriebssystem (das "System" ist der Rechner in Kombination mit dem Betriebssystem), z.B. ein Raspberry Pi mit Raspberry Pi OS lite (openHABian Image).
Bei einem solchen Update kommt es zu Änderungen im Platzbedarf, allerdings lediglich durch geänderte Programme.
openHAB als Server (oder auch als Service) wird natürlich durch Änderungen am Code ebenfalls seine Größe von Version zu Version ändern (ja, tendenziell wird es größer, weil ja immer mehr Funktionen hinzukommen, aber das ist nicht fix, es kann auch kleiner werden)
Thema Datenbank: Wenn Du damit die Persistence meinst, wäre die nächste wichtige Frage: welche Persistence verwendest Du denn? Handelt es sich um rrd4j (das wäre die allgemeine Empfehlung, mindestens für den Einstieg), dann muss ich Dir mitteilen, dass sich die Größe nicht ändert.
Niemals.
Unter keinen Umständen.
rrd4j wird unter anderem genau aus diesem Grund verwendet, weil die Dateigröße fix ist. Das wird erreicht, indem bei jedem Speichervorgang eines neuen Wertes der jeweils älteste Wert in der Reihe entfernt wird. Es gibt also eine fixe Speichergröße pro Item.
Deshalb wächst auch die Größe des Backup nicht an - es sei denn, Du hast z.B. weitere Geräte hinzugefügt bzw. Things und Items ergänzt. Beim Backup werden Persistence Daten nur mit gespeichert, wenn dies explizit angefordert wird:
Code: Alles auswählen
sudo openhab-cli backup -full

Einzig bei db4o als "interne Lösung" könntest Du tatsächlich ein Anwachsen über die Zeit bemerken, das hat aber nichts mit dem Update zu tun, sondern, wie gesagt, allenfalls mit dem Backup. Ich bin mir aber nicht sicher, ob db4o überhaupt noch von jemandem eingesetzt wird

Es gab mal das Problem (ich meine aber, dass dies behoben ist), dass openHAB beim Erstellen eines Backups dieses in dem Zweig ablegte, welcher gebackupt wurde. Wenn man diese Archive nicht löschte, wurden beim nächsten Backup dann diese Archive alle mit ins Backup gespeichert, was naturgemäß zu exponentiell wachsenden Archiven führt.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 9
- Registriert: 13. Apr 2022 13:41
Re: Alte Daten löschen
Hallo zusammen,
hab mich da glaube ich falsch ausgedruckt.
Mache natürlich auch regelmäßig updates. Aber ich meine ehre die Backups, die ich mit sudo ophenab-config erstelle.
diese wachsen jeden Tag um ein paar bytes an. Daher bin ich davon ausgegangen, das die Datenbank von Openhab dort
mit gesichert wird und man diese ab und zu bereinigen sollte. Möglichst aber so, das aktuelle Daten nicht gelöscht werden.
Wenn ich vor dem Backup openhab-cli clean-cache laufen lasse, wird es jedenfalls kleiner.
Ein Wechsel der Datenbank habe ich nicht vorgenommen. Was da für ne Datenbank im Hintergrund läuft weiss ich ehrlich gesagt nicht.
Halt der Standard beim installieren...
hab mich da glaube ich falsch ausgedruckt.
Mache natürlich auch regelmäßig updates. Aber ich meine ehre die Backups, die ich mit sudo ophenab-config erstelle.
diese wachsen jeden Tag um ein paar bytes an. Daher bin ich davon ausgegangen, das die Datenbank von Openhab dort
mit gesichert wird und man diese ab und zu bereinigen sollte. Möglichst aber so, das aktuelle Daten nicht gelöscht werden.
Wenn ich vor dem Backup openhab-cli clean-cache laufen lasse, wird es jedenfalls kleiner.
Ein Wechsel der Datenbank habe ich nicht vorgenommen. Was da für ne Datenbank im Hintergrund läuft weiss ich ehrlich gesagt nicht.
Halt der Standard beim installieren...
-
- Beiträge: 9
- Registriert: 13. Apr 2022 13:41
Re: Alte Daten löschen
So, kurze Rückmeldung von mir.
Der Tip mit der rrd4j.persist Datenbank war die richtige Richtung. Hier waren items drin, die gar nicht mehr existierten.
Habe also ein Backup gemacht, in der Zip-Datei die Datensätze gelöscht und wieder eingespielt. Super alles Perfekt!
Danke für Eure Unterstützung!!!
Gruß Achim
Der Tip mit der rrd4j.persist Datenbank war die richtige Richtung. Hier waren items drin, die gar nicht mehr existierten.
Habe also ein Backup gemacht, in der Zip-Datei die Datensätze gelöscht und wieder eingespielt. Super alles Perfekt!
Danke für Eure Unterstützung!!!
Gruß Achim