Общие принципы инкрементальной загрузки
Инкрементальная загрузка (загрузка изменений)
Инкрементальная загрузка обеспечивается согласованной работой SQL-сервера и BI-приложения.
На стороне SQL-сервера:
- Предварительно администратором 1С-базы данных включается и настраивается режим отслеживания изменений.
(см. Настройка БД)
- SQL-сервер фиксирует сведения о всех изменениях в БД (удаление, добавление или изменение записи).
Эти сведения включают последовательно возрастающий номер версии изменения..
BI-приложение может получить от SQL-сервера максимальный номер версии изменения (vNextVer) на текущий момент времени, .
На стороне BI-приложения:
- BI-приложение хранит у себя номер версии последнего обработанного изменения .
Этот номер версии был использован при последней инкрементальной загрузке (vLastVer).
При самом первом запуске инкрементальной загрузки значение номера должно быть -1;
- При очередной инкрементальной загрузке BI-приложение запрашивает у SQL-сервера номер версии последнего изменения (vNextVer)..
- BI-приложение выполняет запрос к SQL-серверу для выборки и инкрементальной загрузки данных с номером версии больше или равной чем vLastVer
- Загруженные изменения обрабатываются алгоритмом инкрементальной загрузки BI-приложения.
В основе алгоритма лежит сопоставление ключевых полей записей и ключевых полей ранее загруженных записей с учетом признака изменения записи ( изменена, добавлена, удалена) см. https://help.qlik.com/ru-RU/sense/June2018/Subsystems/Hub/Content/LoadData/use-QVD-files-incremental-load.htm
- После успешного выполнения инкрементальной загрузки BI-приложение выполняет присваивает vLastVer = vNextVer.
Новое значение vLastVer запоминается приложением для использования во время следующей загрузки изменений.