Файлы QVD
Файл QVD (QlikView Data) — это файл, в котором содержится таблица данных, экспортируемых из Qlik Sense или QlikView. QVD является собственным форматом Qlik и его запись и чтение возможны только с помощью Qlik Sense или QlikView. Формат файла оптимизирован для скорости при чтении данных из скрипта QlikView, но в то же время не занимает много места. Чтение данных из файла QVD обычно в 10-100 раз быстрее, чем чтение из других источников данных.
Файлы QVD можно читать в двух режимах: стандартном (быстром) и оптимизированном (сверхбыстром). Выбор режима производится обработчиком скриптов QlikView автоматически. Оптимизированный режим может использоваться только в том случае, если все загруженные поля считываются без трансформаций (формул, действующих в полях), но в то же время допускается изменение имен полей. Предложение WHERE в QlikView управляет распаковкой записей и отключает оптимизированную нагрузку. Во время трансформации поля оптимизированный файл .qvd извлекается и обрабатывается согласно стандартной функции ETL (извлечение, преобразование и загрузка), это приводит к ухудшению работы. Указанный формат не будет поддерживаться, вместо него будет использоваться и распознаваться базовый формат числа. Допускается выполнение трансформаций поля в файле .qvd. В результате бывший «оптимизированный» файл .qvd станет стандартным неоптимизированным файлом .qvd.
Файл QVD содержит только одну таблицу данных и состоит из трех частей:
- хорошо сформированного верхнего колонтитула XML (в кодировке UTF-8), который описывает поля в таблице, макета последующей информации и некоторых прочих метаданных;
- таблиц символов в формате, заполненном байтами;
- Фактические данные таблиц в формате, заполненном битами.
Цель файлов QVD
Файлы QVD используются для многих целей. Можно выделить по крайней мере четыре главных цели. В любой из этих ситуаций может использоваться несколько из них:
Увеличение скорости загрузки
Для больших объемов данных выполнение скрипта значительно ускоряется благодаря буферизации не изменяющихся или медленно изменяющихся блоков исходных данных в файлах QVD.
Снижение нагрузки на серверы базы данных
Объем данных, выбираемых из внешних источников данных, может также значительно сократиться. Это сокращает рабочую нагрузку на внешние базы данных и сетевой трафик. Более того, если несколько скриптов QlikView совместно используют одни и те же данные, необходимо лишь один раз загрузить их из базы данных источника в файл QVD. Другие приложения могут использовать те же данные с помощью файла QVD.
Объединение данных из нескольких приложений QlikView
При работе с оператором скрипта binary можно загрузить данные только из одного приложения QlikView в другое, но с файлами QVD скрипт QlikView может совместно использовать приложения QlikView. Это открывает возможности, например, для приложений по объединению похожих данных из разных подразделений и т. д.
Инкрементальная нагрузка
Часто функции QVD могут использоваться для облегчения инкрементальной нагрузки, т. е. эксклюзивной загрузки новых записей из постоянно растущей базы данных.
Использование файлов QVD для инкрементальной нагрузки
Создание файлов QVD
Файл QVD можно создать одним из трех способов:
- Явное создание и присвоение имени с помощью команды сохранить в скрипте QlikView. Просто укажите в скрипте, что ранее считанную таблицу или ее часть необходимо экспортировать в явно названный файл в указанном вами местоположении.
- Автоматическое создание и обслуживание из скрипта. Путем постановки перед оператором load или select префикса buffer QlikView автоматически создает файл QVD, который в некоторых случаях может использоваться вместо оригинального источника данных при перезагрузке данных.
-
Явное создание и присвоение имени вручную из макета с помощью Внутреннего преобразователя макросов. Данные можно экспортировать из макета QlikView с помощью команд графического интерфейса пользователя или макросов автоматизации. Формат QVD, помимо других возможных форматов экспорта, находится в команде графического интерфейса Экспорт..., которая находится в меню «Объект» большинства объектов листа.
Между итоговыми файлами QVD нет различий относительно скорости чтения.
Чтение данных из файлов QVD
QlikView может читать файл QVD или получать к нему доступ следующими способами:
-
Загрузка файла QVD в качестве явного источника данных. Оператор load может ссылаться на файлы QVD в скрипте QlikView, как на любые другие типы текстовых файлов (csv, fix, dif, biff и т. д.). Мастер создания файлов: Тип обращается с файлами QVD точно так же.
- Автоматическая загрузка буферизованных файлов QVD. При использовании префикса buffer с операторами load или select для чтения явные выражения не требуются. QlikView определяет степень, до которой эта программа использует данные из файла QVD, в отличие от получения данных с помощью оригинального оператора load или select.
-
Доступ к файлам QVD с помощью скрипта. Для получения различной информации о данных, находящихся в верхнем колонтитуле XML файла QVD, может использоваться несколько функций скриптов (начинаются с qvd).
Примеры:
Импорт файла QVD со звездочками не поддерживается.
Шифрование QVD
Секретные данные в файлах QVD можно зашифровать с помощью предоставленных пар ключей клиента, которые позволяют вам управлять доступом к данным.
Шифрование настраивается в файле settings.ini, в котором включается шифрование и добавляется отпечаток пальца сертификата. Шифрование QVD отключено по умолчанию.
В старых версиях Qlik Sense и QlikView произойдет ошибка при чтении зашифрованных файлов QVD.
Шифрование QVD (только английский язык).