QVD-Dateien
QVD-Dateien (QlikView Data) enthalten Datentabellen, die aus QlikView exportiert werden. QVD ist ein QlikView-spezifisches Dateiformat, es kann nur aus QlikView heraus generiert und nur von QlikView eingelesen werden. QVD-Dateien sind für besonders schnelles Laden des QlikView-Skripts optimiert, aber gleichzeitig sehr kompakt. Das Einlesen von Daten aus QVD-Dateien ist etwa 10-100-mal schneller als das Einlesen aus Datenquellen anderen Typs.
QVD-Dateien können in zwei Modi gelesen werden: Standard (schnell) und optimiert (schneller). Der ausgewählte Modus ergibt sich automatisch aus der QlikView Script Engine. Der optimierte Modus kann nur verwendet werden, wenn alle geladenen Felder oder Teile davon ohne Umformung (Formeln, die an den Feldern aktiv werden) eingelesen werden. Felder dürfen jedoch umbenannt werden. Eine Bedingung für das Einlesen von Datensätzen bewirkt, dass QlikView die Datensätze auspackt und die optimierte Ladung deaktiviert wird. Eine optimierte QVD-Datei wird extrahiert und bei der Ausführung einer Feldumformung gemäß Standard-ETL (Exract-Transform-Load) behandelt. Dadurch kann die Leistung sinken. Das festgelegte Format wird nicht beibehalten und das zu Grunde legende, unformatierte Zahlenformat wird stattdessen verwendet und erkannt. Umformungen des Felds sind in einer QVD-Datei zulässig, die ehemalige „optimierte“ QVD-Datei wird in diesem Fall zu einer Standard-QVD-Datei ohne Optimierung.
Eine QVD-Datei enthält immer genau eine Tabelle und besteht aus drei Teilen:
- Ein XML-Header (im UTF-8 Zeichensatz), der Metadaten enthält, z. B. eine Beschreibung der Felder und des Aufbaus der Tabelle.
- Symboltabellen (unter Anwendung von Bytestuffing)
- Die eigentlichen Tabellendaten, unter Anwendung von Bitstuffing.
Anwendung von QVD-Dateien
QVD-Dateien sind in verschiedenen Situationen hilfreich. Im Wesentlichen lassen sich vier Anwendungsbereiche nennen. Oft sprechen auch gleich mehrere Gründe für den Einsatz von QVD-Dateien.
Verkürzte Ladezeiten
Daten, die sich gar nicht oder nur in großen Zeitabständen verändern, lassen sich in QVD-Dateien buffern. Dadurch wird für die Ausführung des Skripts erheblich weniger Zeit benötigt. Dieser Effekt macht sich insbesondere bei großen Datenmengen bemerkbar.
Entlastung für Datenbankserver
Die aus externen Quellen geladene Datenmenge verringert sich erheblich. Datenbankserver und Netzwerke werden entlastet, weil weniger Daten bewegt werden. Wenn mehrere QlikView-Skripte dieselben Daten verwenden, müssen Sie nur einmal aus der Quelldatenbank in eine QVD-Datei geladen werden. Die anderen Anwendungen können über diese Datei die gleichen Daten verwenden.
Integration von Daten aus mehreren QlikView-Dokumenten
Mithilfe des Skript-Befehls binary lassen sich nur Daten aus einer QlikView-Anwendung in eine andere laden. Sind die Daten aber in QVD-Dateien abgelegt, kann der QlikView-Skript Daten aus beliebig vielen QlikView-Anwendungen kombinieren. Ein möglicher Anwendungsbereich ist z. B. der Vergleich von Daten aus verschiedenen Abteilungen eines Betriebs.
Inkrementelles Laden
In vielen Fällen kann man QVD-Dateien für inkrementelle Ladevorgänge benutzen, bei denen nur neue oder veränderte Datensätze aus einer umfangreichen Datenbank gelesen werden.
Inkrementelles Laden mit QVD-Dateien
Anlegen von QVD-Dateien
Es gibt drei verschiedene Möglichkeiten, QVD-Dateien zu generieren:
- Explizite Erstellung und Benennung mithilfe des Befehls Store im QlikView-Skript. Dazu definieren Sie im Skript, dass eine bereits eingelesene Tabelle oder ein Teil davon in eine Datei exportiert werden soll, deren Namen und Speicherort Sie bestimmen.
- Automatische Generierung durch das Skript. Durch den Zusatz Buffer vor Load- oder Select-Befehlen legt QlikView automatisch eine QVD-Datei an, deren Inhalt bei späteren Ladevorgängen anstelle der Originaldatenquelle eingelesen werden kann.
-
Explizites Anlegen mithilfe des Dialogs Layout oder des Internen Makro-Interpreters. Daten werden über Befehle oder Makros aus der Benutzeroberfläche des Dokuments in QlikView exportiert. In den Objekt-Menüs zahlreicher Objekte finden Sie Exportbefehle, mit denen Sie den Inhalt des Objekts in einer Datei speichern können. Als mögliches Dateiformat steht auch QVD zur Verfügung.
Die Art und Weise des Anlegens hat keinerlei Einfluss auf die Eigenschaften der QVD-Datei, d. h. Dateigröße und Zugriffsgeschwindigkeit sind gleich, unabhängig davon, wie die Datei angelegt wurde.
Einlesen von Daten aus QVD-Dateien
Es gibt drei verschiedene Möglichkeiten, Daten in QlikView aus QVD-Dateien einzulesen:
-
QVD-Dateien als Datenquellen. QVD-Dateien können genau wie andere Dateitypen (csv, fix, dif, biff usw.) mit Hilfe des load-Befehls in das QlikView-Skript eingelesen werden. Sie können hierfür aber auch den Dateiassistent: Typ verwenden.
- Automatische Nutzung von QVD-Buffern Wenn Sie den buffer-Zusatz vor einem Load- oder Select-Befehl verwenden, benötigen Sie keinen separaten Befehl zum Einlesen der QVD-Datei. QlikView prüft automatisch, welche Daten aus der QVD-Datei und welche aus der zugrunde liegenden originalen load oder select-Befehl gelesen werden können.
Neue Skriptfunktionen Eine Reihe neuer Skriptfunktionen (ihre Namen beginnen alle mit qvd) helfen Ihnen, die Informationen im XML-Header der QVD-Datei auszulesen.
Beispiele:
Das Importieren von QVD-Dateien mit Sternchen wird unterstützt.
QVD-Verschlüsselung
Sie können vertrauliche Daten in QVD-Dateien mit vom Kunden bereitgestellten Schlüsselpaaren verschlüsseln und damit steuern, wer Zugriff auf Ihre Daten erhält.
Die Verschlüsselung wird in der Datei settings.ini konfiguriert. Dort wird die Verschlüsselung aktiviert und der Zertifikatsfingerabdruck hinzugefügt. QVD-Verschlüsselung ist nicht standardmäßig aktiviert.
Ältere Versionen von Qlik Sense und QlikView geben einen Fehler zurück, wenn verschlüsselte QVD-Dateien gelesen werden.
QVD-Verschlüsselung (nur auf Englisch)