Pliki QVD
Plik QVD (QlikView Data) zawiera tabelę danych eksportowaną z Qlik Sense lub QlikView. QVD jest natywnym formatem Qlik i może być odczytywany oraz zapisywany tylko w Qlik Sense lub QlikView. 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:
- 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;
- tabele symboli w formacie ze wstawianiem bajtów;
- 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. Ponadto, 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.
Korzystanie z plików QVD do ładowania przyrostowego
Tworzenie plików QVD
Istnieją trzy sposoby utworzenia pliku QVD:
- 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.
- 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.
-
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.
Niezależnie od metody utworzenia wszystkie pliki QVD zapewniają taką samą szybkość odczytu.
Odczyt danych z plików QVD
Istnieje kilka metod załadowania pliku QVD do aplikacji QlikView lub uzyskania do niego dostępu:
-
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.
- 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.
-
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.
Przykłady:
Importowanie pliku QVD z gwiazdkami nie jest obsługiwane.
Szyfrowanie plików QVD
Poufne dane w plikach QVD można zaszyfrować za pomocą dostarczonych przez klienta par kluczy, które pozwolą kontrolować dostęp do danych.
Szyfrowanie jest konfigurowane w pliku settings.ini, w którym włącza się szyfrowanie i dodaje odcisk kciuka certyfikatu. Szyfrowanie plików QVD nie jest domyślnie włączone.
Starsze wersje Qlik Sense i QlikView zwracają błąd podczas odczytu zaszyfrowanych plików QVD.
Szyfrowanie QVD (tylko w języku angielskim).