Buffer
QVD-Dateien können mit Hilfe des buffer-Zusatzes im Skript automatisch generiert werden. Dieser Zusatz kann zusammen mit den meisten LOAD- und SELECT-Befehlen verwendet werden. Er dient dazu, die eingelesenen Daten in einer QVD-Datei zu cachen bzw. zu buffern.
Buffer [(option [ , option])] ( loadstatement | selectstatement )
option::= incremental | stale [after] amount [(days | hours)]
Ist keine Option definiert, wird die bei der ersten Skriptausführung generierte QVD-Datei auf unbestimmte Zeit weiterverwendet.
Die Pufferdatei wird im Puffer-Unterordner gespeichert, normalerweise C:\ProgramData\Qlik\Sense\Engine\Buffers (Serverinstallation) oder C:\Users\{user}\Documents\Qlik\Sense\Buffers (Qlik Sense Desktop).
Der Name der QVD-Datei ist ein generierter Name, ein hexadezimaler 160 bit-String, der den nachfolgenden LOAD- oder SELECT-Befehl und andere Informationen in abgekürzter Form enthält. Wird der nachfolgende QVD- oder LOAD-Befehl verändert, wird der SELECT-Puffer ungültig.
Normalerweise werden QVD Buffer entfernt, wenn sie während einer vollständigen Skriptausführung in der Anwendung, die sie erstellt hat, nirgendwo mehr referenziert werden oder wenn die Anwendung, die sie erstellt hat, nicht mehr existiert.
| Argument | Beschreibung |
|---|---|
| inkrementell |
Durch die Option incremental wird nur ein Teil der Daten aus der Originaldatenquelle gelesen. Die vorherige Größe der Datei ist im XML Header in der QVD-Datei gespeichert. Dies ist insbesondere für log-Dateien nützlich. Alle bereits in der QVD-Datei vorhandenen Datensätze werden von dort eingelesen, alle neuen Datensätze aus der Originaldatenquelle. Am Ende dieses Vorgangs wird eine aktualisierte Version in der QVD-Datei gespeichert. Die Option incremental kann nur mit LOAD-Befehlen und Textdateien verwendet werden. Inkrementelles Laden kann nicht verwendet werden, wenn alte Daten geändert oder gelöscht werden. |
| stale [after] amount [(days | hours)] |
amount ist eine Zahl, die den Zeitraum definiert. Decimals dürfen verwendet werden. Ist keine Einheit angegeben, nimmt das Programm Tage an.
Die Option stale after ist für Datenbanken vorgesehen, deren Originaldaten keinen Zeitstempel enthalten. Stattdessen geben Sie an, wie alt der QVD Schnappschuss maximal sein darf, um verwendet zu werden. Eine Bedingung stale after gibt einfach einen Zeitraum für das Erstellungsdatum des QVD-Buffers an. Danach ist er nicht mehr gültig. Vor dem Zeitrahmen wird der QVD-Buffer als Quelle für Daten verwendet, und danach gilt die ursprüngliche Datenquelle. In diesem Fall wird eine aktualisierte Version der QVD-Datei gespeichert, und die Zeitspanne beginnt von Neuem. |
Im Gebrauch des buffer-Zusatzes bestehen einige Einschränkungen. Die wichtigste besteht darin, dass der Zusatz nur für LOAD- oder SELECT-Befehle benutzt werden darf, die Daten aus einer Datei lesen.