Datenbankwartung, Daten ausdünnen

hallo bb
hast du mittlerweile was gefunden, um alte (verwaiste) Daten zu löschen ? bei mir dümpeln noch etliche alte csv´s in den Verzeichnissen rum. Die aggregierten Monats-Jahresdaten war einfach (uraltes Datum).

Hi Axel

leider konnte ich mich noch nicht aufraffen diesbezüglich was zu tun. Ist irgendwie so mühsam, finde da immer andere Dinge die mehr Spass machen.

gruß
bb

Hallo zusammen.

Gibt es hier mittlerweile Boardmittel von Symcon wie ich geloggte Variablen ausdünnen kann ?
Ich habe ein SMA Meter, der alle 600ms Daten pusht und diese meine Variablen füllt. Andere Variablen die auf diese reagieren verändern sich dadurch auch alle 600ms und werden auch immer größer. 91 Millionen Datensätze in einer geloggten Variable sind bestimmt nicht gesund und stören vermutlich mein verwendetes Grafana Modul.

Wie kann ich die geloggten Variablen aus den letzten Jahren ausdünnen, so dass ich vielleicht nur noch Werte alle 60 sec behalte. statt jede 0,6 sec

Grüße

Noch nicht :wink:

paresy

Schade. Gibt es denn eine einfache Möglichkeit aus den CSV Dateien maschinell Datensätze zu entfernen ? Oder gibt es Scripte / externe Tools die dieses können ? Manuell ist das ja nicht wirklich praktikabel. Was wäre hier denn euer Ansatz ?

Hi, ich nütze jetzt einmal diesen alten Thread für ein ähnliches Problem.
Durch die dropbox Sicherung bin ich draufgekommen ich bräuchte 8 GB Speicher (habe aber nur 2GB). Ich muss also aufräumen.
Ich habe viele (Mess-)variable. Viele davon will ich sekundengenau Anzeigen bräuchte aber in der Aufzeichnung nur alle 1, 5 oder 10 Minuten (nicht den jeweils aktuellen, sondern den aggregierten Wert).
Ich sehe mehrere Möglichkeiten:

  1. Sehr fraglich: Alle alten Originaldaten löschen (mir reichen die Aggregierten). Werde dann bei einer Neuaggregation die aggregierten auch gekillt?
  2. Wenig praktikabel: Alle Variabeln durchforsten und ausdünnen (mühsam, trotzdem noch viele) dann fehlt mir in einem Monat genau eine von den gelöschten.
  3. Gibt es dazu ein Skript?: Zu jeder Variablen eine 2. Hinzufügen. Eine die sekündlich anzeigt und nicht aufzeichnet und eine 2. die über die Zeit (alle 1, 5 oder 10 Minuten) die 1. Aggregiert und dann aufzeichnet.
  4. Ein Programm (skript) das (bei den alten) CSV Daten 20, 100 oder 500 Zeilen aggregiert, diese löscht und den aggregierten Wert einträgt.

Bitte um Rückmeldung welches Methode am sinnvollsten ist, macht das schon wer?
Herzlichen Dank
Walter

Einfach die Jahresordner löschen, die du nicht mehr brauchst - oder einfach auf ein externes Gerät verschieben, sodass es nicht im Backup ist. Nach der Aggregation sind die Daten natürlich nicht mehr verfügbar.

Wir planen für die 6.x weiterhin eine Archiv Life-Cycle Feature womit du genau das tun können wirst.

paresy

Danke, hab es gemacht in ProgrammData/Symcon db alte. Jetzt ist das Backup 1,28 GB :smiley:
Wenn es fertig ist (dauert glaub ich Stunden) probier ich was nach der reaggregation aller Variablen (Archivmodul) passiert. Kann dann gleich das Restore testen. :+1:
Danke

die alten Jahresordner habe ich auch gesichert und dann gelöscht. Ich arbeite nur mit den letzten 3 Jahren. Eigentl habe ich noch nie in den letzten 13J auf alte Daten geschaut :grinning:

@Axel37:
Hi, bei mir sind es nur 6 Jahre. und es gibt schon Daten die im jaresvergleich interessant sind (Energieverbrauch, PV erzeugung…).
Aber „wichtig“ sind sie nicht.

@paresy:
Ja danke, das hat funktioniert. Nur Reaggregieren darf man dann nicht mehr.
Vielleicht eine Kopie einiger weniger Variablen (nur die, die man im Jahresvergleich braucht) im original db Verzeichnis belassen - ist halt einmal ein gefummel, aber das war´s dann.

Gibts irgendwo eine Beschreibung von dem geplanten Feature?
Danke Walter

Ich erzähle ein wenig dazu in der Keynote vom letzten Event im Januar :slight_smile:

paresy

Um nicht mehr benutzte Daten aus dem Archiv älter als z.B. 1 Monat zu löschen, nutze ich ein Script, das ich von Zeit zu Zeit aufrufe.
Ich habe auch viele Leistungsdaten, die nach ein paar Tagen nicht mehr benötigt werden, da keine Diagramme mehr erzeugt werden müssen
Das funktioniert bis jetzt für mich ganz gut.
Lässt sich ja beliebig erweitern …

Gruß,
Doc

// Script zum Löschen von nicht benötigten Archivdaten

$ID_Archiv = 10204;

// **************************************************************

AC_DeleteVariableData($ID_Archiv, 36301, 0, strtotime("-1 month"));                           // Bezug Leistung aktuell 

AC_DeleteVariableData($ID_Archiv, 53579, 0, strtotime("-1 month"));                           // Verbrauch Leistung aktuell 

AC_DeleteVariableData($ID_Archiv, 19925, 0, strtotime("-1 month"));                           // ESS gesamt Leistung aktuell

AC_DeleteVariableData($ID_Archiv, 42236, 0, strtotime("-1 month"));                           // mögliche Leistung aktuell (ESS)

AC_DeleteVariableData($ID_Archiv, 19925, 0, strtotime("-1 month"));                           // Leistung ESS gesamt

AC_DeleteVariableData($ID_Archiv, 35077, 0, strtotime("-1 month"));                           // ESS Leistung ist

AC_DeleteVariableData($ID_Archiv, 16887, 0, strtotime("-1 month"));                           // Leistung Carport aktuell

AC_DeleteVariableData($ID_Archiv, 45083, 0, strtotime("-1 month"));                           // Leistung Garage aktuell 

AC_DeleteVariableData($ID_Archiv, 48924, 0, strtotime("-1 month"));                           // Leistung Fronius aktuell 

Klar kann man sowas machen, ist aber unheimlich mühsam einzurichten. Du musst dich ja um jede Variable extra kümmern.
Sowas ist IMHO klar Aufgabe der Datenbank selbst.
Naja, kommt Zeit kommt Rat. Ist ja bald wieder Weihnachten. - das wievielte eigentlich seit den ersten Diskussionen „…da was machen zu wollen…“ ? :smiling_imp:

Verstehe aber natürlich das es schwierig ist für alle passende Prioritäten zu setzen. Meinerseits hätte ich bspw. gerne auf den ganzen Modul und Ablaufplandingens verzichten können wenn dafür die Datenbank modernisiert worden wäre. Von der Pro/WebKonsole und neuem Forum red ich mal gar nicht.

gruß
bb

1 „Gefällt mir“

Es geht mir hier ja nur um die Variablen, die teilw. sekündlich gelogged werden und dadurch schnell eine gewisse Größe bekommen.
Die anderen bleiben ja so wie sie sind, das ist schon überschaubar.

Grüße,
Doc

Danke,
@ paresy, Danke
@ Doctor_Snuggles: Nein löschen will ich ja nicht.
@ bbeernhard: ja ich werde auch warten, der workaround mit dem auslagern geht ja (einigermaßen)

Ja das hatte ich schon verstanden.
Es war auch nur ein Beispiel um generell etwas „automatisiert“ auszudünnen, was nicht mehr benötigt wird.

Ja danke - aber mir schwebte das vor:
4. Ein Programm (skript) das (bei den alten) CSV Daten 20, 100 oder 500 Zeilen aggregiert, diese löscht und den aggregierten Wert einträgt.

Gibts dazu mittlerweile einen Zeitplan?
Ich hab mir die Symbox Pro bestellt und bereite nun das System auf den Umzug vor… bei der Gelegenheit möchte ich mal etwas alten Ballast loswerden. Stromverbrauchswerte im Minutentakt der letzten 3 Jahre brauch kein Mensch - daher hätte ich starkes Interesse an automatischen Aggregationsstufen (z.B. aktuelles Jahr unverändert, Vorjahr auf Tageswerte verdichtet, alles ältere auf Wochen / Monate verdichtet.

Gibts da irgend etwas?

Viele Grüße,
Markus

1 „Gefällt mir“