Инкрементное обновление данных FineBI
В данном материале вы узнаете, как настроить инкрементальное обновление данных таблиц в FineBI.
Введение
Когда в базах данных хранятся большие объемы данных – полное обновление данных таблицы может занимать достаточно долгое время в BI системе. Решением этой проблемы может стать инкрементное обновление данных, при котором будут добавляться только новые данные, что появились с момента предыдущего обновления.
Инкрементальное обновление
Если в базе данных есть таблица, новые данные будут добавляться каждый день. В настоящее время пользователи могут использовать "инкрементные обновления" для обновления только новых данных, добавляемых каждый день в FineBI. Это избавляет от необходимости обновлять всё целиком, экономя время обновления и ресурсы обновления.
Таблицы данных, соответствующие следующим условиям, больше подходят для постепенного обновления:
- В таблице есть поле "отметка времени", которое можно использовать для сравнения с "временем обновления" для достижения инкрементных обновлений.
- Исторические данные не изменятся.
Если объем данных в одной таблице относительно невелик или она обновляется только раз в месяц, можно использовать весь объем обновлений.
Существует два способа инкрементного обновления: инкрементное добавление и инкрементное удаление.
- Постепенное добавление
Обычно используется в ситуациях, когда необходимо регулярно добавлять данные.
- Постепенное удаление
Пользователи могут удалять ненужные данные с помощью "инкрементного удаления". Однако постепенное удаление редко используется само по себе. При обычных обстоятельствах оно используется для изменения данных.
Используйте комбинацию "инкрементное увеличение" и "инкрементное удаление", например, сначала удалите часть данных в FineBI, а затем добавьте данные из базы данных в FineBI.
Подготовка подключения к базе данных приложения FineBI
Для использования инкрементального обновления необходимо подключение к базе данных. В рамках демонстрации FineBI в приложениях используется база данных MySQL. Подробнее о подключении к базам данных вы можете ознакомиться в других статьях нашего сайта.
Настройка инкрементального обновления
1 Перейдите в раздел Data Preparation и выберите режим работы Spider.
2 Добавьте таблицу данных из созданного подключения к базе, перейдите в раздел «Data Preparation», выберите существующий или создайте новый каталог данных Business Package, кликните «Add Table > Database Table».
3 Загрузите данные таблицы, кликнув на появившееся окно «Update Data». По завершению загрузки откройте вкладку «Update Information» и выберите «Single Table Update».
4 В появившемся диалоговом окне выберете опцию обновления «Full Update Firstly, incremental update thereafter».
5 В этом же окне, в нижней части, выберем первую опцию «Incremental Addition» и в области SQL напишем условие для выполнения инкрементального обновления. В примере ниже, загружаются данные, у которых в поле date указана дата большая, чем дата последнего обновления.
Пример скрипта SQL:
SELECT * FROM test where date> str_to_date('last update time','%Y-%m-%d %H:%i:%s')
В скрипте параметр 'last update time' является системным и обновляется автоматически FineBI. Он представляет из себя строку и его нужно приводить к типу даты. Функции приведения типов могут отличаться у различных баз данных.
Выполнение обновления
По результатам инкрементального обновления данных, можно отследить количество добавленные строк данных в графике обновлений Update Information.
В первый раз, данные обновлялись полностью и затем выполнилось инкрементальное обновление, в результате чего, в поле Number of data entries добавилась ровно одна строка, удовлетворяющая условию SQL.
Для автоматизации процесса инкрементального обновления необходимо указать расписание обновления таблицы или каталога данных.