QVD-filer
En QVD (QlikView Data)-fil är en fil som innehåller en tabell med data som har exporterats från Qlik Sense eller QlikView. QVD är ett Qlik-originalformat och kan bara skrivas till och läsas av Qlik Sense eller QlikView. Detta filformat är optimerat för hastighet vid datainläsning från ett QlikView-skript, men är ändå mycket kompakt. Datainläsning från en QVD-fil är typiskt 10‒100 gånger snabbare än inläsning från andra datakällor.
QVD-filer kan läsas in på två olika sätt; standard (snabbt) och optimerat (snabbare). Vilket sätt som används bestäms automatiskt av QlikView-skriptmotorn. Det optimerade sättet kan endast användas när alla fält läses in utan någon typ av transformering (formler som påverkar fälten). Filnamnen kan dock ändras. En WHERE-sats som gör att QlikView packar upp posterna leder också till att optimerad laddning avaktiveras. En optimerad .qvd-fil extraheras och hanteras enligt standard-ETL (Extract-Transform-Load). När ett fält omvandlas leder detta till försämrad prestanda. Det angivna formatet behålls inte. Det underliggande talformatet används i stället och känns igen. Det är tillåtet att omvandla fältet i en .qvd-fil. Den tidigare "optimerade" .qvd-filen blir då en icke-optimerad .qvd-fil av "standard"-typ.
En QVD-fil innehåller exakt en datatabell och består av tre delar:
- Ett noggrant utformat XML-huvud (i teckenuppsättningen UTF-8) som beskriver tabellens fält, layouten för den följande informationen, samt vissa ytterligare metadata.
- Symboltabeller i byte-komprimerat format.
- Faktiska tabelldata i bit-komprimerat format.
Syftet med QVD-filer
QVD-filer har många användningsområden. Åtminstone fyra huvudsakliga användningsområden kan omedelbart identifieras. Fler än ett användningsområde kan gälla på samma gång:
Snabbare laddning
Genom att buffra de block av indata som inte har ändrats respektive ändrats långsamt i QVD-filer kan skriptexekveringen snabbas upp väsentligt för stora datamängder.
Minskat tryck på databasservrar
Mängden data som hämtas från externa datakällor kan minskas avsevärt. Detta minskar arbetstrycket på de externa databaserna och mängden nätverkstrafik. När flera QlikView-skript delar samma data krävs dessutom bara en laddning från källdatabasen till en QVD-fil. De andra programmen kan använda data via denna QVD-fil.
Konsolidera data från flera QlikView-applikationer
Med binary-skriptsatsen går det att ladda data från ett enda QlikView-program till ett annat, men med QVD-filer kan ett QlikView-skript kombinera data från flera olika QlikView-program. Detta möjliggör t ex konsolidering av likartade data från olika affärsenheter etc.
Inkrementell laddning
I många fall kan QVD-funktionaliteten användas för att förenkla inkrementell laddning, dvs. bara ladda nytillkomna poster i en växande databas.
Använda QVD-filer för inkrementell laddning
Skapa QVD-filer
En QVD-fil kan skapas på ett av tre sätt:
- Skapa och namnge explicit med hjälp av kommandot Store i QlikView-skriptet. Du anger bara i skriptet att en tabell (eller delar av en tabell) som tidigare har lästs in ska exporteras till en namngiven fil på en viss plats.
- Skapa och sköta underhåll automatisk direkt från skriptet. Med prefixet buffer framför en load- eller select-sats skapar QlikView automatiskt en QVD-fil som senare kan användas i stället för den ursprungliga datakällan vid laddning under vissa förhållanden.
-
Skapas manuellt och namnges direkt från layouten eller via Intern makrotolk. Data kan exporteras från QlikView-layouten via användargränssnittet eller Automation-makron. I användargränssnittet finns QVD som ett av flera möjliga exportformat under kommandot Exportera ... som finns i de flesta arkobjektens objektmeny.
Det resulterande QVD-filerna skiljer sig inte åt angående inläsningshastighet.
Läsa data från QVD-filer
En QVD-fil kan läsas in eller nås av QlikView på följande sätt:
-
Läsa in en QVD-fil som explicit datakälla. Du kan referera till QVD-filerna genom en load sats i QlikView-skriptet, precis som med vilken annan typ av textfil som helst (csv, fix, dif, biff osv.). Filguiden: Typ hanterar QVD-filer på samma sätt.
- Automatisk inläsning av buffrade QVD-filer. När buffer-prefixet används förload eller select-satser, behöver du inte uttryckligen ange hur laddningen ska ske. QlikView avgör i vilken grad data från QVD-filen ska användas eller om data istället ska hämtas via den ursprungliga load- eller select-satsen.
-
Nå QVD-filer via skriptet. Ett antal skriptfunktioner (alla börjar med qvd) kan användas för att hämta olika typer av information om data som hittats i XML-huvudet på en QVD-fil.
Exempel:
Import av QVD med asterisker stöds inte.
QVD-kryptering
Du kan kryptera känsliga data i QVD-filer med nyckelpar som tillhandahålls av kunden, vilket gör det möjligt att kontrollera vem som får åtkomst till dina data.
Krypteringen konfigureras i filen settings.ini, där kryptering aktiveras och certifikatets tumavtryck läggs till. QVD-kryptering är inte aktiverad som standard.
Äldre versioner av Qlik Sense och QlikView returnerar ett fel när de läser krypterade QVD-filer.
QVD-kryptering (endast på engelska).