Файлы 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. Примеры:  

    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 со звездочками не поддерживается.