Файлы QVD

Файл QVD (файл данных QlikView) — это файл, в котором содержится таблица данных, экспортируемых из QlikView. QVD является собственным форматом QlikView и может быть создан только в QlikView и прочтен только с помощью QlikView. Формат файла оптимизирован для скорости при чтении данных из скрипта QlikView, но в то же время не занимает много места. Чтение данных из файла QVD обычно в 10-100 раз быстрее, чем чтение из других источников данных.

Файлы QVD можно читать в двух режимах: стандартном (быстром) и оптимизированном (сверхбыстром). Выбор режима производится обработчиком скриптов QlikView автоматически. Оптимизированный режим может использоваться только в том случае, если все загруженные поля считываются без трансформаций (формул, действующих в полях), но в то же время допускается изменение имен полей. Предложение WHERE в QlikView управляет распаковкой записей и отключает оптимизированную нагрузку. Во время трансформации поля оптимизированный файл .qvd извлекается и обрабатывается согласно стандартной функции ETL (извлечение, преобразование и загрузка), это приводит к ухудшению работы. Указанный формат не будет поддерживаться, вместо него будет использоваться и распознаваться базовый формат числа. Допускается выполнение трансформаций поля в файле .qvd. В результате бывший «оптимизированный» файл .qvd станет стандартным неоптимизированным файлом .qvd.

Файл QVD содержит только одну таблицу данных и состоит из трех частей:

  1. хорошо сформированного верхнего колонтитула XML (в кодировке UTF-8), который описывает поля в таблице, макета последующей информации и некоторых прочих метаданных;
  2. таблиц символов в формате, заполненном байтами;
  3. Фактические данные таблиц в формате, заполненном битами.

Цель файлов QVD

Файлы QVD используются для многих целей. Можно выделить по крайней мере четыре главных цели. В любой из этих ситуаций может использоваться несколько из них:

Увеличение скорости загрузки

Для больших объемов данных выполнение скрипта значительно увеличивается благодаря буферизации не изменяющихся или медленно изменяющихся блоков исходных данных в файлах QVD.

Снижение нагрузки на серверы базы данных

Объем данных, выбираемых из внешних источников данных, может также значительно сократиться. Это сокращает рабочую нагрузку на внешние базы данных и сетевой трафик. Более того, если несколько скриптов QlikView совместно используют одни и те же данные, необходимо лишь один раз загрузить их из базы данных источника в файл QVD. Другие приложения могут использовать те же данные с помощью файла QVD.

Объединение данных из нескольких приложений QlikView

При работе с оператором скрипта binary можно загрузить данные только из одного приложения QlikView в другое, но с файлами QVD скрипт QlikView может совместно использовать приложения QlikView. Это открывает возможности, например, для приложений по объединению похожих данных из разных подразделений и т. д.

Инкрементальная нагрузка

Часто функции QVD могут использоваться для облегчения инкрементальной нагрузки, т. е. эксклюзивной загрузки новых записей из постоянно растущей базы данных.

Использование файлов QVD для инкрементальной нагрузки

Создание файлов QVD

Файл QVD можно создать одним из трех способов:

  1. Явное создание и присвоение имени с помощью команды сохранить в скрипте QlikView. Просто укажите в скрипте, что ранее считанную таблицу или ее часть необходимо экспортировать в явно названный файл в указанном вами местоположении.
  2. Автоматическое создание и обслуживание из скрипта. Путем постановки перед оператором load или select префикса buffer QlikView автоматически создает файл QVD, который в некоторых случаях может использоваться вместо оригинального источника данных при перезагрузке данных.
  3. Явное создание и присвоение имени вручную из макета с помощью Внутреннего преобразователя макросов. Данные можно экспортировать из макета QlikView с помощью команд графического интерфейса пользователя или макросов автоматизации. Формат QVD, помимо других возможных форматов экспорта, находится в команде графического интерфейса Экспорт..., которая находится в меню «Объект» большинства объектов листа.

    Внутренний преобразователь макросов

Между итоговыми файлами QVD нет различий, например, относительно скорости чтения и т. д.

Чтение данных из файлов QVD

QlikView может читать файл QVD или получать к нему доступ следующими методами:

  1. Загрузка файла QVD в качестве явного источника данных. Оператор load может ссылаться на файлы QVD в скрипте QlikView, как на любые другие типы текстовых файлов (csv, fix, dif, biff и т. д.). Мастер создания файлов: Тип обращается с файлами QVD точно так же.

    Мастер создания файлов: Тип

  2. Examples:  

    load * from xyz.qvd (qvd);

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

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

  3. Автоматическая загрузка буферизованных файлов QVD. При использовании префикса buffer с операторами load или select для чтения явные выражения не требуются. QlikView определяет степень, до которой эта программа использует данные из файла QVD, в отличие от получения данных с помощью оригинального оператора load или select.
  4. Доступ к файлам QVD с помощью скрипта. Для получения различной информации о данных, находящихся в верхнем колонтитуле XML файла QVD, может использоваться несколько функций скриптов (начинаются с qvd).

    Функции файлов

Импорт файла QVD со звездочками не поддерживается.