Arbeiten mit QVD-Dateien

QVD (QlikView Data)-Dateien enthalten Datentabellen, die aus Qlik Sense exportiert werden. QVD ist ein natives Qlik Format, das nur von Qlik Sense oder QlikView gelesen oder geschrieben werden kann. Das Dateiformat ist für besonders schnelles Laden aus einem Skript optimiert, aber gleichzeitig sehr kompakt. Das Einlesen von Daten aus QVD-Dateien ist etwa 10-100 Mal schneller als das Einlesen aus anderen Datenquellen.

QVD-Dateien können in zwei Modi gelesen werden: Standard (schnell) und optimiert (schneller). Der ausgewählte Modus ergibt sich automatisch aus dem Skriptmodul.

Das optimierte Laden unterliegt bestimmten Einschränkungen. Es ist möglich, Felder umzubenennen, aber mit allen hier aufgeführten Vorgängen wird das optimierte Laden deaktiviert und das Standardladen ausgeführt.

  • Alle Transformationen für geladene Felder.
  • Verwenden einer where-Klausel, die Qlik Sense veranlasst, die Datensätze zu entpacken.
  • Verwenden von Zuordnen für ein geladenes Feld.

Anwendung von QVD-Dateien

QVD-Dateien können für viele verschiedene Zwecke verwendet werden, und in einer bestimmten Situation kann jeweils mehr als einer anwendbar sein. Im Wesentlichen lassen sich vier Anwendungsbereiche nennen:

  • Verkürzte Ladezeiten
  • Daten, die sich gar nicht oder nur in großen Zeitabständen verändern, lassen sich in QVD-Dateien puffern. 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 Skripte dieselben Daten verwenden, müssen sie nur einmal aus der Quelldatenbank in eine QVD-Datei geladen werden. Andere Anwendungen können über diese QVD-Datei die gleichen Daten verwenden.

  • Integration von Daten aus mehreren Anwendungen
  • Mithilfe des Skript-Befehls binary lassen sich nur Daten aus einer Anwendung in eine andere laden. Sind die Daten aber in QVD-Dateien abgelegt, kann das Skript Daten aus beliebig vielen Anwendungen kombinieren. Ein möglicher Anwendungsbereich ist z. B. der Vergleich von Daten aus verschiedenen Abteilungen eines Betriebs.

  • inkrementell
  • In vielen Fällen kann man die QVD-Funktion für inkrementelle Ladevorgänge benutzen, bei denen nur neue Datensätze aus einer umfangreichen Datenbank gelesen werden.

    Weitere Informationen finden Sie unter Laden von neuen und aktualisierten Datensätzen mit inkrementellem Laden.

Erstellen von QVD-Dateien

Eine QVD-Datei kann auf zwei verschiedene Arten erstellt werden:

  • Explizite Erstellung und Benennung mithilfe des Befehls store im 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.

    Weitere Informationen finden Sie unter Store.

  • Automatische Generierung durch das Skript. Wenn einer LOAD- oder SELECT-Anweisung das Präfix buffer vorangestellt wird, erstellt Qlik Sense automatisch eine QVD-Datei, die beim erneuten Laden von Daten unter bestimmten Bedingungen anstelle der ursprünglichen Datenquelle verwendet werden kann.

    Weitere Informationen finden Sie unter Buffer.

Die Art und Weise des Anlegens hat keinerlei Einfluss auf die Eigenschaften der QVD-Datei, d. h. die Zugriffsgeschwindigkeit ist gleich.

Daten aus QVD-Dateien einlesen

Es gibt verschiedene Möglichkeiten, QVD-Dateien einzulesen oder darauf zuzugreifen:

  • Laden einer QVD-Datei als Datenquelle. QVD-Dateien können mithilfe des LOAD-Befehls im Skript genau wie andere Textdateitypen (csv, fix, dif, biff usw.) referenziert werden.
  • Example:  

    LOAD * from xyz.qvd (qvd);

    LOAD Name, RegNo from xyz.qvd (qvd);

    LOAD Name as a, RegNo as b from xyz.qvd (qvd);

  • Automatisches Laden von gepufferten QVD-Dateien. Wenn Sie das Präfix buffer den LOAD- oder SELECT-Anweisungen voranstellen, sind keine expliziten Anweisungen zum Einlesen erforderlich. Qlik Sense prüft automatisch, welche Daten aus der QVD-Datei und welche aus dem zugrunde liegenden originalen LOAD oder SELECT -Befehl gelesen werden können.
  • Zugriff auf QVD-Dateien über das Skript. Eine Reihe neuer Skriptfunktionen (ihre Namen beginnen alle mit qvd) helfen Ihnen, die Informationen im XML-Header der QVD-Datei auszulesen.

QVD-Format

Eine QVD-Datei enthält immer genau eine Tabelle und besteht aus drei Teilen:

  • Header.

    Hinweis: Wenn die QVD-Datei mit QlikView erstellt wurde, handelt es sich bei dem Header um einen wohlgeformten XML-Header (im UTF-8-Zeichensatz), der die Felder in der Tabelle beschreibt, das Layout der nachfolgenden Informationen und sonstige Metadaten.
  • Symboltabellen, unter Anwendung von Bytestuffing.
  • Die eigentlichen Tabellendaten, unter Anwendung von Bitstuffing.