History DB - Komprimierung der Archive

Aufgrund der Archivstruktur (siehe Archive anlegen und parametrieren) ist die Speicherplatzausnutzung der Archive bei stark unterschiedlicher Datenrate von DPEs in einem Archiv nicht optimal. Es wird wesentlich mehr Speicherplatz auf der Platte belegt, als für die Anzahl der Einträge nötig wäre. Abhilfe schafft hier die in WinCC OA mögliche Komprimierung der Archive. Bevor Sie sich dieser Seite widmen, sollten die Einleitung und die vorhergehenden Kapitel durchgenommen werden, um sich einen Überblick zur History DB zu verschaffen (siehe Grundlagen History DB).

Die unter Windows verfügbare Standardvorgabe zur Komprimierung von Dateien ist defaultmäßig auf FALSE gesetzt (siehe auch Config-Eintrag compressValueArchive im Kapitel Archive auslagern/sichern). Falls der Config-Eintrag jedoch gesetzt ist (auf TRUE), wird dieser verwendet. Bei einer automatischen Komprimierung eines abgeschlossenen Archivsatzes wird eine allfällige Windows-Komprimierung erst nach erfolgter Archivsatz-Komprimierung durchgeführt. Es wird dringend empfohlen nur mehr die History DB-Komprimierung zu verwenden.

Das Auslösen der Komprimierung kann entweder automatisch (n Sekunden nach dem Dateiwechsel - konfigurierbar) oder manuell (Schaltfläche im Aktionspanel für das jeweilige Archiv) vorgenommen werden.

Anmerkung: Die Komprimierung wird nur für bereits abgeschlossene Archivsätze angestoßen.

Die nachfolgende Abbildung zeigt eine Datenmatrix, wie sie in einem Archivsatz vorkommen kann, und ist für die Funktionsweise der Archivkomprimierung, die im Anschluss näher erklärt wird, zur Veranschaulichung gedacht.

Abbildung 1. Datenmatrix eines Archivsatzes

Reihenfolge der Komprimierung

Die Komprimierung der Archive erfolgt in 2 Stufen:

  • Stufe 1: Alle Archivsätze, die sich auf der Platte befinden (mit Ausnahme des aktuellen Archivsatzes) und die eine Komprimierungsstufe kleiner 1 aufweisen (siehe auch Grafik im Kapitel Archive anlegen und parametrieren) werden komprimiert. Die Komprimierung in Stufe 1 dient dazu, um Platz für ergänzende Korrekturwerte im Archiv freizuhalten. Korrekturwerte ändern bestehende Werte (z.B. fehlerhafte Messwerte) bzw. fügen neue Werte in die Historie ein (Details zu Korrekturwerten finden Sie im Kapitel Grundlagen Korrekturwerte und Laborwerte).

  • Stufe 2: Alle Archivsätze die bereits in Stufe 1 komprimiert wurden (d.h. der aktuelle Archivsatz ist nicht dabei), vermindert um die Anzahl an Archivsätzen, die in Stufe 1 verbleiben sollen, werden komprimiert. Die Komprimierung in Stufe 2 führt zu einer kompletten Reduktion des Speicherplatzes eines Archives. Mit dieser Aktion werden auch die freigelassenen Werteinträge in Stufe 1 gelöscht.

Anmerkung:

Archive der Komprimierungsstufe 2 können gelesen, jedoch nicht mehr geschrieben werden, d.h.: Das Einfügen von Korrekturwerten in Archive der Komprimierungsstufe 2 ist nicht mehr möglich!

Bei einem automatischen Aufruf der Komprimierung werden immer alle Stufen abgearbeitet. Bei Komprimierung in Stufe 1 wird eine bestimmte Anzahl von Werteinträgen für jeden einzelnen DPE freigehalten. Die Anzahl der freizuhaltenden Einträge wird pro DPE separat berechnet. Als Parameter stehen eine feste Anzahl und/oder ein Prozentsatz in Abhängigkeit der bisher geschriebenen Werte (Füllgrad) zur Verfügung. Falls beide Parameter verwendet werden, gilt folgende Regel:

Als Wert gilt das Maximum (Prozentsatz der bisher geschriebenen Werte, feste Anzahl der Werte). Zum Beispiel 5% und 10 Werte bedeutet: 5% der bereits geschriebenen Werte werden freigelassen, mindestens jedoch 10 Einträge.

Bei Komprimierung in Stufe 2 werden die in Stufe 1 freigelassenen Werteinträge gelöscht und der Archivsatz wird somit komplett komprimiert. Nach dieser Komprimierung in Stufe 2 ist kein Schreiben ergänzender Korrekturwerte in das Archiv möglich.

Config-Eintrag

Für die Konfiguration der Komprimierung kann folgender Config-Eintrag in der [valarch]-Sektion der Config-Datei gemacht werden:

[valarch]
maxNumberOfFilesToCompress = 10 # Default = 5

Der Eintrag maxNumberOfFilesToCompress legt fest wieviele Dateien pro Archiv in einem Durchgang maximal komprimiert werden dürfen. Sinnvoll vor allem beim erstmaligen Einsatz der Komprimierung bei bestehenden Projekten, da hier eine unbestimmte Anzahl von Archivsätzen vorhanden ist. Der Wertebereich für diesen Eintrag geht von 3 bis 25.