Laufzeitdaten bereinigen
Übersicht
Die Menge an Daten, die in einem Produktionssystem generiert und gespeichert werden, wird oft unterschätzt. Offiziell gibt PTC keine Empfehlung dafür, wie viele Daten gespeichert werden sollten, da dies stark vom Anwendungsfall abhängig ist. Es wird jedoch empfohlen, für jedes Produktionssystem eine Plan bereitzuhalten, um die alten Daten aus Leistungsgründen zu bereinigen. Bei der Planung der Datenbereinigung sollte Folgendes berücksichtigt werden:
Wie viele Eigenschaften werden protokolliert?
Wie viele Dinge haben protokollierte Eigenschaften?
Wie häufig werden diese Eigenschaften protokolliert?
Sollen die Daten für Datensätze archiviert werden? Weitere Informationen finden Sie im Abschnitt Laufzeitdaten.
Wenn Daten alle paar Minuten für einige Eigenschaften auf einigen hundert Edge-Geräten protokolliert werden, so können diese Daten für mehrere Monate bis zu einem Jahr gespeichert werden. Werden Daten jedoch mehrmals pro Minute für hunderte Eigenschaften auf tausend verschiedenen Dingen protokolliert, so sollten möglicherweise selbst lediglich mehrere Wochen alter Daten bereinigt werden. Es wird empfohlen, Daten kontinuierlich in kleinen Blöcken abzufragen und zu bereinigen. Eine geplante häufigere Bereinigung (täglich statt wöchentlich) verbessert die Leistung.
Müssen Daten länger als ein Jahr gespeichert werden, empfiehlt PTC, eine externe Datenbank für die Speicherung zu verwenden.
So bereinigen Sie Daten
Abhängig vom jeweiligen Szenario ist das JavaScript zum Bereinigen von Daten unterschiedlich, die Schritte bleiben jedoch gleich:
1. Erstellen Sie ein neues Ding, und legen Sie die Basis-Dingvorlage auf Scheduler fest.
2. Öffnen Sie den Abschnitt Konfiguration, und legen Sie die Eigenschaften runAsUser und schedule fest.
Weitere Informationen zur richtigen Formatierung der Eigenschaft schedule finden Sie unter https://docs.oracle.com/cd/E12058_01/doc/doc.1014/e12030/cron_expressions.htm.
Abhängig von der Bereinigung kommt es zu einem JVM-Nutzungsanstieg während des Jobs. Daher empfiehlt es sich, große Jobs außerhalb der Spitzenzeiten in kleinere Jobs zu unterteilen.
3. Wählen Sie Abonnements aus, und klicken Sie auf die Schaltfläche Hinzufügen.
4. Wählen Sie im Abschnitt Abonnementinformationen die Option Ich aus, und aktivieren Sie Aktiviert.
5. Klicken Sie auf Eingaben.
6. Wählen Sie im Feld Ereignis die Option ScheduledEvent aus.
7. Fügen Sie die JavaScript-Angaben für den Bereinigungsjob hinzu.
* 
Ist für Wert-Stream- und Stream-Dienste kein Startdatum angegeben, so werden alle Werte bereinigt, beginnend mit epoch. Ist kein Enddatum angegeben, werden alle Eigenschaften bis zum Zeitpunkt der Ausführung des Diensts bereinigt.
Optimale Vorgehensweisen für den Scheduler
Abonnieren Sie kein Zeitgeber- oder Scheduler-Ereignis auf der Dingvorlagen-Ebene. Abonnieren Sie stattdessen das Ding.
Fragen Sie keine großen Datenmengen in Zeitgebern, die häufig ausgelöst werden, ab. Weitere Informationen finden Sie in diesem Artikel in der PTC Community.
Fragen Sie nach Möglichkeit nicht die gleiche Datenquelle in einem Abonnement ab und aktualisieren Sie sie anschließend. Fragen Sie stattdessen einen Stream einer Datentabelle einmal in jedem Abonnement ab und falls erforderlich noch einmal am Ende des Scheduler-Jobs. (Verwenden Sie hierzu Batch-Aktualisierungsanweisungen.)
Bereinigung von Wert-Streams, Streams und Datei-Repositories
Lesen Sie Best Practice for Purging Value Streams, Streams, and Old File Repository Files in ThingWorx, um weitere Informationen zum Bereinigen von Daten zu erhalten.
War dies hilfreich?