Skip to content

Материализация ​

В правой панели выбирается, откуда виджеты берут данные:

РежимКак работаетКогда подходит
Прямой запросКаждый виджет обращается к источнику в момент открытия. Данные всегда актуальны, нагрузка ложится на источникНебольшие объёмы, требуется актуальность
ИзвлечениеДанные выгружаются в хранилище платформы, виджеты читают готовый снимок. Быстро, но данные обновляются по расписаниюБольшие объёмы, тяжёлые запросы к источнику

В прямом запросе доступны не все функции

Формула переводится в SQL вашей базы, и часть функций в её диалекте отсутствует: на MS SQL Server не соберутся расчёты с датами и длиной строки, на Vertica — доли от целого, на CockroachDB — тригонометрия. Полная таблица — поддержка функций источниками. Извлечение снимает большую часть этих отказов, но не все: десяток функций платформа не исполняет ни в одном режиме — ограничения.

Правая панель датасета: выбор режима материализации

Для режима «Извлечение» настраиваются стратегия загрузки, расписание и форма хранения витрины — кнопка Синхронизация в верхней панели редактора.

Что меняется при переключении ​

Разницу видно на примере. Допустим, в источник добавили заказ на 5 млн:

РежимЧто показывает виджет
Извлечение, витрина не пересобранастарую сумму — новый заказ не виден
Извлечение, после пересборкиновую сумму; в истории запусков появляется новый успешный запуск
Прямой запросновую сумму сразу, ничего запускать не нужно

Если такой заказ удалить, прямой запрос сразу вернётся к прежней сумме, а витрина останется с ним до следующей пересборки.

Отсюда правило: в режиме извлечения свежесть данных равна времени последней сборки. Если пользователи жалуются, что цифры не сходятся с учётной системой, посмотрите вкладку История в окне Синхронизация — история запусков, — прежде чем искать ошибку в датасете.

Время последней сборки видно и без открытия датасета: в списке датасетов рядом с режимом материализации есть колонка Данные обновлены. Прочерк в ней означает, что витрину ещё ни разу не собирали.

Дата остаётся и после переключения на прямой запрос

Колонка показывает время последней выгрузки, а не режим: если датасет когда-то собирали, а потом перевели на прямой запрос, дата останется на месте — и будет выглядеть так, будто витрина ещё используется. Ориентируйтесь на пару «Материализация + Данные обновлены», а не на одну колонку.

У нового датасета по умолчанию выбрано «Извлечение»

Только что созданный датасет заводится в режиме извлечения, то есть рассчитывает на витрину в хранилище платформы. Если вам нужны всегда свежие данные напрямую из источника, переключите режим на Прямой запрос сразу, до сборки виджетов.

Пока витрина не собрана, виджеты не строятся

В режиме извлечения данные берутся из витрины, а она появляется только после первой сборки. До этого запрос отвечает отказом вида «Экстракт датасета не построен для объекта id=…». Соберите витрину: Синхронизация → Запустить пересборку — первая сборка витрины — или переключите датасет на прямой запрос, если данные нужны сразу.

Для режима извлечения администратор должен настроить хранилища платформы: витрины ложатся в аналитическую базу, промежуточные файлы — в объектное хранилище (как устроена платформа).

Что дальше ​