Skip to main content
Skip table of contents

Komprimierte Zeitreihen

Was ist Komprimierung

In HAKOM Terminologie ist Zeitreihen-Komprimierung eine Technology zur resourcenschonenden Speicherung von Zeitreihendaten. Komprimierte Zeitreihen benötigen nicht nur deutlich weniger Speicherplatz in der Datenbank, sondern daraus folgend auch kürzere Zugriffszeiten bei größeren Datenmengen.

Wie funktioniert Komprimierung

Zeitreihenwerte (also bei HAKOM Zeitreihen bestehend aus Wert und Flag) werden bei herkömmlichen (nicht komprimierten) Zeitreihen als Zeitstempel-Wert-Paare abgespeichert. Bei Komprimierung werden mehrere zeitlich angrenzende Zeitreihenwerte zu einem fixen Block mit nur einem Anfangszeitstempel zusammengefasst und als Binärwert abgespeichert. Durch das Entfallen der einzelnen Zeitstempelinformationen innerhalb eines Blocks wird die Einsparung an Speicherplatz realisiert:

Für welche Zeitreihentypen kann eine Komprimierung verwendet werden

Komprimierung wird für jede zyklische (zeitsynchrone) mit einem fixen Intervall, d.h. "Anfang" und "End" Zeitreihen, unterstützt. 

Spontane Zeitreihen ohne fixes Intervall können hingegen derzeit nicht sinnvoll zu einem Block zusammengefasst werden und sind daher nicht unterstützt.

Wie kann ich Komprimierung aktivieren

Komprimierung kann einzeln pro Zeitreihe aktiviert werden. Entweder in TSM Plugin - Zeitreihe Bearbeiten Bereich oder via REST API (compression=true), siehe entsprechende Bereiche in den jeweiligen Dokumentationen.

Was sind die Vorteile einer komprimierten Zeitreihe

Komprimierung, wenn richtig eingesetzt (siehe nächstes Kapitel), bringt folgende Vorteile:

  • Reduzierter Datenbankspeicherverbrauch
    Beispiel: im Falle einer Viertelstundenzeitreihe kann 80% der Datenmenge erspart werden
  • Erhöhte Lesegeschwindigkeit
    Beispiel: im Falle einer Viertelstundenzeitreihe können Daten für ein Jahr mit bis zu 20% schneller abgerufen werden
  • Deutlich erhöhte Schreibegeschwindigkeit
    Beispiel: im Falle einer Viertelstundenzeitreihe können Daten für ein Jahr mit bis zu 80% schneller geschrieben werden

Für welche Anwendungen ist eine Komprimierung sinnvoll

Da Komprimierung Zeitreihendaten blockweise abspeichert, ist die höchste Performance-Steigerung (neben reduzierter Speicherverbrauch, welche immer auftritt) dann zu erzielen, wenn ganze Blöcke ausgelesen werden. Das ist zum Beispiel der Fall, wenn Stundenzeitreihen Tageweise (oder als Ganzes Mehrfaches eines Tages) abgerufen werden. 

In diesem Sinne, je öfter auch Teile eines Blocks verarbeitet werden müssen, desto geringer wird der Performance-Gewinn.

Blockgrößen

Blockgrößen für einige typische Standard-Intervall-Längen

Intervall-LängeBlockgröße
ViertelstundeDay
Halbe StundeDay
StundeDay
TagMonth
WocheYear
MonatYear
QuartalYear
HalbjahrYear
JahrYear

Blockgrößen für Intervall-Längen auf Sekundenbasis

Intervall-LängeBlockgröße
< 60 Sekunden60 Sekunden
< 900 SekundenStunde
>= 900 SekundenTag
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.