Ankündigung

Einklappen
Keine Ankündigung bisher.

db4o und der Umgang mit der wachsenden Größe

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    db4o und der Umgang mit der wachsenden Größe

    Hi,

    ich habe die items, für die ich persistence benötige, unter Zuhilfe von db4o persistiert. Soweit so gut. Jetzt habe ich festgestellt, dass die Datenbank ständig größer wirst. Das entspricht nicht meiner Erwartung: ich war davon ausgegangen, dass immer nur der aktuelle Zustand persistiert wird; anscheinend wird aber immer nur der letzte Zustand zugefügt.

    Außerdem bekomme ich es nicht hin, dass nur die letzten 3 Version im Automatischen Backup bleiben. Auch wenn ich in der /etc/openhab/configurations/openhab.cfg die Einstellung db4o:maxbackups=2 setzte, werden mehr als 2 Altversionen vorgehalten...ob nach der 7. das Default greift, weiß ich mangels Filesystemgröße nicht.

    Jetzt die Fragen:
    1. Ist es sinnvoller, eine andere Persistierung zu benutzen, und wenn ja, welche?
    2. Kann man die db4o Datei verkleinern? Auch unter Verlust der Altdaten.
    3. Was mache ich möglicherweise falsch, dass die maxbackups Einstellungen nicht funktionieren? Kommt hier etwa die default Einstellung (1 Uhr) mit dem Astro binding in Konflikt...aber das läuft ja um 0:00 Uhr. Im Log sehe ich aber zwischen 0:05 und (gestern) 3:00 Uhr (weil da irgendwo das Licht eingeschaltet wurde) keinerlei Einträge

    Gruß
    Peter

    #2
    Naj, dass kommt immer auf die Daten an. Z.B. die RRD4J Persistierung hat immer die gleiche Größe weil historische Daten ausgedünnt werden. Wenn Du also nur den Status eines Schalters perststieren willst macht RRD4J mehr sinn als eine DB, die alle Werte speichert. Bei Temperaturdaten ist das ggf. anders.

    Thomas

    Kommentar


      #3
      Hi Thomas,

      ok, also ist RRD4J doch die Methode der Wahl. Bleibt aber die Frage, wie ich eine db4o Datenbank irgendwie mal wieder kleiner bekomme und warum das Backup nicht so funktioniert wie geplant.
      Außerdem verstehe ich deine Antwort so, dass es keine Möglichkeit gibt, nur den letzten Zustand eines Items zu speichern...immer nur über einen Zeitlichen Verlauf. Im Falle von RRD4J eben mit einem 'eindampfen' der altlastmenge.

      Gruß
      Peter

      Kommentar


        #4
        Komischerweise gibt es zu MapDB keine Wiki-Seite. Auf GitHub gibt's dazu aber einen Thread: https://github.com/openhab/openhab/pull/2264 Dieser Persistence-Service ist im aktuellen addons-Paket enthalten (seit April) und speichert nur den jeweils letzten Zustand, ist also genau das, was Du suchst

        Kommentar


          #5
          Wieder was gelernt. Muss ich gleich mal schauen

          Danke
          Thomas

          Kommentar


            #6
            Der Wiki-Artikel war nur nicht verlinkt, ist aber schon korrigiert https://github.com/openhab/openhab/w...db-Persistence

            Kommentar


              #7
              Hi,
              nachdem ich meinen gecrashten Raspberry jetzt wieder aufgepäppelt habe, möchte ich mich noch bedanken.

              MapDB funktioniert wie gewünscht; komischerweise hält sich jetzt die Einstellung der db4o Backupversionen halbwegs an die Vorgabe. halbwegs deshalb, weil

              db4o:maxbackups=2

              eingestellt ist und immer 3 Backups existieren (plus das Original).

              Komisch, komisch

              Peter

              Kommentar


                #8
                liegt vielleicht an der Zählweise 0,1,2 = 3

                Thomas

                Kommentar

                Lädt...
                X