Ankündigung

Einklappen
Keine Ankündigung bisher.

Persistence Service verstehen

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

    Persistence Service verstehen

    Hallo,

    ich habe nach dem Studium der Dokumentation einige Fragen, die noch offen blieben:
    1. in openhab.cfg kann ich die default persistence einstellen, in meinem Bsp. rrd4j. Warum ist diese zu definieren. Entweder ich will persistence oder nicht und dann muss ich ja eh ein .persist File anlegen und das entsprechende Addon laden, oder? Was macht diese Default-Einstellung?
    2. kann rrd4j (ich kenne nur rrd als RoundRobin DB) dafür verwendet werden, Daten zu speichern, um diese später abzufragen? Normalerweise werden rrd Daten doch "komprimiert und wegrotiert" innerhalb eines Zeitraumes.
    3. kann eine strategy restoreOnStartup mit rrd4j überhaupt funktionieren? Ich frage das, weil ich es nicht weiß, nicht weil ich darüber diskutieren will? Kann rrd4j die Stati nach Absturz oder stoppen von openHAB wieder rekonstruieren?
    4. Spricht was dagegen, jeden Wert im Minutentakt mittels rrd4j zu sichern? Ist das zeitaufwändig für die CPU? Denn damit könnte ich mir später zu jedem Item eine Chart abfragen.
    5. Welchen Mehrwert habe ich, wenn ich db4o als weiteren Persistence Service hinzufüge? Oder was kann db4o mehr/besser als rrd4j (abgesehen davon, dass RRD immer konstanten Platzbedarf auf der Platte braucht)?
    6. Kann ich auch db4o dazu verwenden, RRD-Charts erzeugen zu lassen?
    7. Allerdings bekomme ich derzeit noch keine Charts hin. Die URL
      Code:
      http://192.168.2.2:8083/rrdchart.png?items=IPWETemp,yahoo_tempmax,yahoo_tempmin&period=D
      liefert folgendes Bild (obwohl lt. rrd4j.persist alle Items mit der strategy = everyMinute gespeichert werden). Was mache ich da falsch?

    Sorry für die vielen (blöden) Fragen, aber irgendwie steig ich da noch nicht ganz dahinter.

    #2
    in openhab.cfg kann ich die default persistence einstellen, in meinem Bsp. rrd4j. Warum ist diese zu definieren. Entweder ich will persistence oder nicht und dann muss ich ja eh ein .persist File anlegen und das entsprechende Addon laden, oder? Was macht diese Default-Einstellung?
    Es spart die explizite Angabe des Services in Funktionen die ihn nutzen. Wird er weggelassen wird eben der Default genommen, es spricht aber auch nichts dagegen mehrere Services gleichzeitig zu nutzen


    kann rrd4j (ich kenne nur rrd als RoundRobin DB) dafür verwendet werden, Daten zu speichern, um diese später abzufragen? Normalerweise werden rrd Daten doch "komprimiert und wegrotiert" innerhalb eines Zeitraumes.
    kann eine strategy restoreOnStartup mit rrd4j überhaupt funktionieren? Ich frage das, weil ich es nicht weiß, nicht weil ich darüber diskutieren will? Kann rrd4j die Stati nach Absturz oder stoppen von openHAB wieder rekonstruieren?
    Dazu gab es ein Issue, ich meine das wäre inzwischen umgesetzt. Mit der reduzierten Auflösung muss man dann natürlich leben, je nach Anwendung ist das relevant oder auch nicht.

    Persönlich nutze ich rrd4j für alle Arten von Messwerten und db4o für Switch-Items und ähnliches (mit der Strategie "everyChange, everyDay, restoreOnStartup je nach Item)


    Spricht was dagegen, jeden Wert im Minutentakt mittels rrd4j zu sichern? Ist das zeitaufwändig für die CPU? Denn damit könnte ich mir später zu jedem Item eine Chart abfragen.
    Nein, dass mache ich auch so. Natürlich kostet das CPU, aber nicht viel. Ob es relevant ist hängt von der Anzahl der Elemente und vom Rechner ab. Für praktische Szenarien wahrscheinlich nicht, wobei ich es auf einem Raspberry nicht übertreiben würde.


    Welchen Mehrwert habe ich, wenn ich db4o als weiteren Persistence Service hinzufüge? Oder was kann db4o mehr/besser als rrd4j (abgesehen davon, dass RRD immer konstanten Platzbedarf auf der Platte braucht)?
    Im Prinzip hast Du es ja schon geschrieben, db4o reduziert die vorhandene Datenbasis nicht, dafür werden die Dateien bei vielen Messwerten schnell recht groß.

    Kann ich auch db4o dazu verwenden, RRD-Charts erzeugen zu lassen?
    Bestimmt , aber nicht "out of the box"

    ttp://192.168.2.2:8083/rrdchart.png?items=IPWETemp,yahoo_tempmax,yahoo_te mpmin&period=D
    Ich gehe mal davon aus, dass Du Image url="..." nur im Posting weg gelassen hast, sonst fehlt das. Außerdem ist 8083 doch der Port für die SSL-Verbindung, klappt das auch mit einem http Aufruf? Probier doch mal Port 8080. Es könnet auch sein, dass auf dem Port schon ein anderer Dienst lauscht, bei meinem OSX Server wurde er schon genutzt (kann in der Startdatei verlegt werden)

    Kommentar


      #3
      Zitat von Jockel Beitrag anzeigen
      Ich gehe mal davon aus, dass Du Image url="..." nur im Posting weg gelassen hast, sonst fehlt das. Außerdem ist 8083 doch der Port für die SSL-Verbindung, klappt das auch mit einem http Aufruf? Probier doch mal Port 8080. Es könnet auch sein, dass auf dem Port schon ein anderer Dienst lauscht, bei meinem OSX Server wurde er schon genutzt (kann in der Startdatei verlegt werden)
      Danke für den Tipp mit den Ports, das muss ich mir nochmal anschauen.

      Kommentar

      Lädt...
      X