Das für die Plugins verwendete Store-Format habe ich gewählt, weil es die Daten direkt in ein Binärfile schreibt bzw. davon ausliest. Das ist schön schnell und für die ursprüngliche Idee eine Zeitspanne von 5 bis maximal 10 Minuten in 3 Minuten Intervallen abzudecken auch nach wie vor ideal.

In der Zwischenzeit verwenden  wir diese Stores nicht mehr nur als Kurzzeitgedächtnis sondern auch um Daten für Trendanalysen die über mehrere Wochen gehen abzulegen. Da kommen dann durchaus einige Megabytes an Daten zusammen, die sich im Speicher dann auf Hunderte Megabytes aufblasen können. Es ist nicht sinnvoll solche Datenmengen im Minutentakt einzulesen und wieder auf  die Festplatten zurück zu schreiben.

Mit der Version 3.6 stellen wir ein neues Store-Format zur Verfügung, das wesentlich effizienter ist. Wir konnten an Hand eines von einem Kunden zur Verfügung gestellten history_store mit 1001 Calls (Zeitpunkte, zu denen die Daten vom Filer abgeholt wurden) nachvollziehen, dass sich alleine auf der Festplatte die Größe von 11 MiB auf 217kiB reduziert hat. Die nun fehlenden Bytes liegen in einem Verzeichnis calls im store-Directory und können so gezielt ausgelesen werden. Prozentual ausgedrückt können wir mit dem neuen store-Format für Performance- und History Checks den Arbeitsspeicherbedarf auf rund 2% des ursprünglichen Bedarfs reduzieren. Damit sollten defekte store-Dateien eigentlich der Vergangenheit angehören.

Dieses neue Format ist testweise in der Version 3.6.0_01 verfügbar. Für produktive Systeme empfehle ich dieses ausdrücklich nicht.

Bei der Migration sollten alle vorhandenen store-Dateien zuvor gelöscht (bzw. vorsichtshalber verschoben) werden. Wertvolle store-Dateien (history) können mit dem mitgelieferten storemigrator.pl in das neue Format umgewandelt werden.