Pliki QVD

Plik QVD (QlikView Data) zawiera tabelę danych eksportowaną z aplikacji QlikView. QVD jest rodzimym formatem aplikacji QlikView i tylko w niej może być odczytywany i zapisywany. Format pliku jest zoptymalizowany w celu uzyskania maksymalnej szybkości odczytu danych przez skrypty QlikView 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 QlikView. Trybu zoptymalizowanego można używać jedynie w przypadku odczytywania wszystkich ładowanych pól bez transformacji (formuł wykonujących operacje na polach), choć dozwolona jest zmiana nazw pól. Ładowanie zoptymalizowane jest też wyłączane w przypadku klauzuli WHERE wymagającej od aplikacji QlikView rozpakowania wierszy. Zoptymalizowany plik .qvd jest wyodrębniany i obsługiwany zgodnie ze standardową procedurą ETL (Extract-Transform-Load) podczas przekształcenia pola, co powoduje obniżenie wydajności. Określony format nie zostanie zachowany, a zamiast niego będzie używany oraz rozpoznawany bazowy nieprzetworzony format liczb. Przekształcenia pola w pliku .qvd są dozwolone — na skutek przekształceń wcześniej „Zoptymalizowany” plik .qvd staje się standardowym niezoptymalizowanym plikiem .qvd.

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

  1. poprawny składniowo nagłówek XML w kodowaniu znaków UTF-8 opisujący pola tabeli, układ następujących dalej informacji i metadane;
  2. tabele symboli w formacie ze wstawianiem bajtów;
  3. same tabele danych w formacie ze wstawianiem bitów.

Przeznaczenie plików QVD

Pliki QVD mogą być używane do różnych celów. Można wskazać co najmniej cztery typowe zastosowania, ale używanie tych plików często przynosi kilka korzyści naraz:

Przyspieszanie ł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.

Zmniejszanie 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 QlikView korzysta z tych samych danych, wystarczy tylko raz załadować je ze źródła danych do pliku QVD. Pozostałe aplikacje mogą następnie używać tych samych danych za pośrednictwem takiego pliku QVD.

Konsolidacja danych z wielu aplikacji QlikView

Instrukcja skryptowa binary umożliwia załadowanie danych tylko z jednej aplikacji QlikView do innej, natomiast w przypadku używania plików QVD skrypt QlikView może łączyć dane z dowolnej liczby aplikacji QlikView. Stwarza to liczne możliwości, na przykład konsolidowania podobnych danych z różnych jednostek biznesowych.

Ładowanie przyrostowe

Typowym zastosowaniem plików QVD jest usprawnianie ładowania przyrostowego, czyli ładowania wyłącznie nowych wierszy z rosnącej bazy danych.

Zob.: Korzystanie z plików QVD do ładowania przyrostowego

Tworzenie plików QVD

Istnieją trzy sposoby utworzenia pliku QVD:

  1. Jawne utworzenie i nazwanie z użyciem polecenia store w skrypcie QlikView. W skrypcie wystarczy wskazać wcześniej wczytaną tabelę lub część tabeli i wyeksportować ją do pliku o podanej nazwie i lokalizacji.
  2. Automatyczne tworzenie i utrzymywanie przez skrypt. Jeśli instrukcja load lub select zostanie poprzedzona prefiksem buffer, aplikacja QlikView automatycznie utworzy plik QVD, który po spełnieniu pewnych warunków może zastępować pierwotne źródło danych podczas przeładowania danych.
  3. Jawne utworzenie ręczne i nazwanie z poziomu układu lub poprzez wewnętrzny interpreter makr. Dane z układu QlikView można eksportować z użyciem poleceń interfejsu użytkownika lub makr automatyzacji. W interfejsie użytkownika format QVD jest wyświetlany jako jeden z możliwych formatów eksportu polecenia Eksport... dostępnego w menu większości obiektów arkusza.

    Zob.: Wewnętrzny interpreter makr

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

Odczyt danych z plików QVD

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

  1. Załadowanie pliku QVD jako jawnego źródła danych. Instrukcje load w skrypcie QlikView mogą się odwoływać do plików QVD tak samo, jak do innych plików tekstowych (csv, fix, dif, biff itp.). Okno dialogowe Kreator plików: Typ obsługuje pliki QVD na podobnych zasadach.

    Zob.: Kreator plików: Typ

  2. Przykłady:  

    load * from xyz.qvd (qvd);

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

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

  3. Automatyczne ładowanie buforowanych plików QVD. W przypadku użycia prefiksu buffer instrukcji load lub select odczyt nie wymaga żadnych dodatkowych instrukcji. Aplikacja QlikView będzie automatycznie ustalać, w jakim zakresie używać danych z pliku QVD zamiast pobierania danych za pośrednictwem pierwotnej instrukcji load lub select.
  4. 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.

    Zob.: Funkcje pliku

Importowanie pliku QVD z gwiazdkami nie jest obsługiwane.