Praca z plikami QVD

Plik QVD (QlikView Data) zawiera tabelę danych eksportowaną z programu Qlik Sense. QVD to własnościowy format Qlik, który może być zapisywany i odczytywany wyłącznie przez programy Qlik Sense i QlikView. Format pliku jest zoptymalizowany w celu uzyskania maksymalnej szybkości odczytu danych przez skrypty przy zachowaniu niewielkich rozmiarów. Format pliku jest zoptymalizowany w celu uzyskania maksymalnej szybkości odczytu danych przez skrypty przy zachowaniu niewielkich rozmiarów. Odczyt danych z pliku QVD jest zazwyczaj 10–100 razy szybszy niż odczyt z innych źródeł danych.

Dostępne są dwa tryby odczytu plików QVD: standardowy (szybki) i zoptymalizowany (szybszy). Wybrany tryb jest automatycznie określany przez silnik obsługi skryptów.

Istnieją pewne ograniczenia dotyczące ładowania zoptymalizowanego. Nazwy pól można zmieniać, ale wykonanie jakiekolwiek operacji wymienionych poniżej doprowadzi do wyłączenia ładowania zoptymalizowanego i spowoduje ładowanie standardowe.

  • Jakiekolwiek transformacje pól, które są ładowane.
  • Użycie klauzuli where, co spowoduje, że program Qlik Sense rozpakuje rekordy.
  • Użycie polecenia Map względem ładowanego pola.

Zastosowania plików QVD

Pliki QVD mogą być używane do wielu celów i w dowolnej sytuacji więcej niż jeden plik może mieć zastosowanie. Można wskazać co najmniej cztery typowe zastosowania:

  • Przyspieszenie ładowania
  • Buforowanie niezmiennych lub rzadko modyfikowanych bloków danych wejściowych w plikach QVD pozwala znacznie przyspieszyć wykonywanie skryptów na dużych zestawach danych.

  • Zmniejszenie obciążenia serwerów baz danych
  • Można znacznie zmniejszyć ilość danych pobieranych z zewnętrznych źródeł danych. Pozwala to ograniczyć obciążenie zewnętrznych baz danych i natężenie ruchu w sieci. Poza tym gdy kilka skryptów korzysta z tych samych danych, wystarczy tylko raz załadować takie dane ze źródłowej bazy danych do pliku QVD. Inne aplikacje będą mogły następnie używać tych samych danych za pośrednictwem takiego pliku QVD.

  • Konsolidowanie danych z wielu aplikacji
  • Instrukcja skryptu binary pozwala załadować dane z jednej aplikacji do innej, natomiast użycie plików QVD umożliwia łączenie w skrypcie danych z dowolnie wielu aplikacji. Dzięki temu aplikacje mogą na przykład konsolidować podobne dane z różnych jednostek organizacyjnych.

  • Ładowanie przyrostowe
  • Typowym zastosowaniem plików QVD jest ładowanie przyrostowe, czyli ładowanie jedynie nowych rekordów z rosnącej bazy danych.

    Więcej informacji zawiera temat Ładowanie nowych i zaktualizowanych rekordów za pomocą funkcji ładowania przyrostowego.

Tworzenie plików QVD

Istnieją dwa sposoby utworzenia pliku QVD:

  • Jawne utworzenie i nazwanie pliku z użyciem polecenia store w skrypcie. W skrypcie należy określić, że wcześniej wczytana tabela lub część takiej tabeli ma zostać eksportowana do pliku o podanej nazwie i lokalizacji.

    Więcej informacji zawiera temat Store.

  • Automatyczne tworzenie i utrzymywanie przez skrypt. Jeśli instrukcja LOAD lub SELECT zostanie poprzedzona prefiksem buffer, program Qlik Sense automatycznie utworzy plik QVD, który w określonych warunkach może zastępować pierwotne źródło danych podczas przeładowywania danych.

    Więcej informacji zawiera temat Buffer.

Niezależnie od metody utworzenia wszystkie pliki QVD dają taką samą szybkość odczytu.

Odczyt danych z plików QVD

Istnieje kilka metod wczytania pliku QVD lub uzyskania do niego dostępu:

  • Załadowanie pliku QVD jako jawnego źródła danych. Instrukcje LOAD w skrypcie mogą się odwoływać do plików QVD, tak samo jak do innych plików tekstowych (csv, fix, dif, biff itp.).

    Na przykład (Windows):

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

    Na przykład (Kubernetes):

    • LOAD * from [lib://MyDataFiles/xyz.qvd];
    • LOAD Name, RegNo from [lib://MyDataFiles/xyz.qvd];
    • LOAD Name as a, RegNo as b from [lib://MyDataFiles/xyz.qvd];
  • Automatyczne ładowanie buforowanych plików QVD. W przypadku użycia prefiksu buffer instrukcji LOAD lub SELECT odczyt nie wymaga żadnych dodatkowych instrukcji. Program Qlik Sense będzie automatycznie ustalać, w jakim zakresie używać danych z pliku QVD zamiast pobierania danych za pośrednictwem pierwotnej instrukcji LOAD lub SELECT.
  • Dostęp do plików QVD z poziomu skryptu. Dane zawarte w nagłówku XML pliku QVD można pobierać za pomocą odpowiednich funkcji skryptowych o nazwach zaczynających się na qvd.

Format QVD

Plik QVD mieści dokładnie jedną tabelę danych i obejmuje trzy części:

  • Nagłówek.

    Uwaga: Jeśli plik QVD został wygenerowany przez program QlikView, nagłówek jest poprawnie sformułowanym nagłówkiem XML w zestawie znaków UTF-8. Nagłówek opisuje pola tabeli, układ podanych dalej informacji i inne metadane.
  • Tabele symboli w formacie ze wstawianiem bajtów.
  • Rzeczywiste dane tabeli w formacie ze wstawianiem bitów.