influxDB Spezialist gesucht für Datenreduktion

  • Hi

    suche schon länger im Netz aber finde keinen richtigen Ansatz um das Problem zu lösen.

    Entsprechend wäre ich sehr dankbar Eure Tips und Gedanken zu lesen.


    Ich betreibe auf einem Raspberry eine influxDB Datenbank (32-Bit OS also influxDB v 1.8.3). Hier laufen recht unterschiedliche Verbrauchs und Erzeugungsdaten rein (teils in W teils in kWh also Zählerstände). Um hieraus Abfragen langfristig zu ermöglichen (Tages,Wochen, Monatsverbrauch) bin ich schnell auf das Thema Datenreduktion/Downsampling gestoßen und hier wird eine zweite (neue) Datenbank "longterm" empfohlen und die Einträge entsprechend per Continuous Query zu verdichten und zu übertragen. Gesagt getan.


    Ein großes Problem habe ich nun für die Einträge in W. Um die späteren Queries zu "erleichtern" aber auch eine einheitliche Struktur in der Datenbank "longterm" zu haben, bilde ich beim Übertrag in Longterm in Einem das Integral (Aggregation) über 15 Minuten.


    Dabei fällt mir auf, dass durch die Nutzung der Grouped By Defintion, also Wahl der Daten für z.B. Grouped By (15m), der Zeitstempel für dieses Integral in der Datenbank "longterm" vom ERSTEN Eintrag des Datenpunktes der 15 Minuten übernommen wird. Richtig wäre der Zeitstempel des LETZTEN Datenpunktes.


    Für 15 Minuten nicht dramatisch (könnte man sagen), aber bei einer Verdichtung über Tage oder sogar Jahre schon erheblich ob der gesamte Verbrauch/Erzeugung am Anfang oder Ende eines Jahres vorlag.


    Bei genaueren Überlegung trifft dieses Problem alle Aggregationen von influxDB mit Nutzung des Zeitstempels und ich frage mich ob nur ich das so problematisch sehe. Summenbildungen, Mittelwerte etc alles wird hierdurch zeitlich falsch übernommen bei einer Datenreduktion mit Aggregierung.

    Was kann man tun? Für mich macht so influxDB für eine längere Speicherung wenig Sinn, da eine Datenreduktion gemäß empfohlener Continuous Query nicht möglich ist bzw. stark Verfälschungen einbaut.


    Hier in der Wissensdatenbank findet man ebenfalls tolle gute Informationen zu influxDB und gerade Langzeitspeicherung und Verbräuche für meine PV Erträge ist ein PV Thema. Deswegen toll wenn hier jemand Infos/Tips geben kann.


    Danke vorab!


    Code
    15m-Leistung-PV-WR_ges-AC:
    
    CREATE CONTINUOUS QUERY "15mPWRACGes" ON "longterm" 
    BEGIN 
        SELECT INTEGRAL("value") /3600000 AS value 
        INTO longterm.autogen."javascript.0.scriptEnabled.PV.WRPACges" 
        FROM shortterm.autogen."javascript.0.scriptEnabled.PV.WRPACges" 
        GROUP BY time(15m),* 
    END
  • Kann ggf. sein, dass ich hier in eine Sackgasse laufe und da influxdB stark für influxDB "Werbung" macht. Ich hier keine Lösung ohne 2.0 hinbekommen werde? Also zu erst mal das gesamte System auf eine 64-Bit Plattform zu heben?