NEWS
Storage Vorhaltezeit in mySQL funktioniert nicht - hat keinen Einfluss
-
Hallo,
ich habe seit einiger Zeit den SQL-Adapter mit mySQL am laufen. Pro Tag schreibe ich ca. 30.000 Sätze.
Alles funktioniert soweit super performant auf dem PI3.
Ich habe als Storage Vorhaltezeit bei allen Datenpunkten 1 Woche eingestellt.
Der Wert hat aber keine Auswirkung. Ein Löschen der alten Sätze findet nicht statt. Aktuell habe ich mehr als 2 Mio Einträge.
Ist das nur mein Problem, oder habt Ihr ähnliche Erfahrungen?
Hat jemand eventuell bereits ein Script zur Reorganisation der Datenbank geschrieben?
Grüße
Thomas
-
@tom57:Hallo,
ich habe seit einiger Zeit den SQL-Adapter mit mySQL am laufen. Pro Tag schreibe ich ca. 30.000 Sätze.
Alles funktioniert soweit super performant auf dem PI3.
Ich habe als Storage Vorhaltezeit bei allen Datenpunkten 1 Woche eingestellt.
Der Wert hat aber keine Auswirkung. Ein Löschen der alten Sätze findet nicht statt. Aktuell habe ich mehr als 2 Mio Einträge.
Ist das nur mein Problem, oder habt Ihr ähnliche Erfahrungen?
Hat jemand eventuell bereits ein Script zur Reorganisation der Datenbank geschrieben?
Grüße
Thomas `
Es kann sein, dass es an dieser Stelle ein Fehler drin ist.Wenn du jetzt die Zeile 33 in die Datei /opt/iobroker/node-modules/iobroker.sql/lib/mysql.js so änderst:
query += " AND ts < " + Math.round(d.getTime() / 1000);auf
query += " AND ts < " + d.getTime();Nach dem sql-Adapter-Restart sollte es besser aussehen.
-
Update:
Die Änderung funktioniert. Beim Neustart des SQL-Adapters werden die alten Daten gelöscht. :D
Wann läuft eigentlich der Datenreorg im laufenden Betrieb ? Einmal am Tag um Mitternacht?
Lästig sind auch die Duplicate Key Fehler im Log.
Da der Primary Key Millisekunden vorsieht, aber auf ganze Sekunden gerundet wird, habe ich pro Tag ca. 20-30 Fehlermeldungen im Log.
Lösungsmöglichkeiten:
(1) Fehlermeldung abfangen und REPLACE anstelle von INSERT
(2) Den Zeitstempel auf die Millisekunde genau machen
(3) Die Fehlermeldung im Log unterdrücken ??
-
Hier weiter zu duplicate key:
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden