Оформление
Кеши и лимиты
Платформа кеширует то, что дорого пересчитывать: структуру таблиц, списки значений полей, готовые выборки виджетов и разбор файлов. Кеш всегда компромисс между свежестью и нагрузкой на источник, поэтому сроки жизни задаются настройками — их меняет администратор при развёртывании.
Эта страница объясняет, почему данные иногда отстают и на что смотреть, когда пользователь говорит «я обновил, а цифры старые».
Коротко: сроки и что их сбрасывает
| Что кешируется | Срок | Что сбрасывает раньше срока |
|---|---|---|
| Готовая выборка виджета | 1 минута | Пересборка витрины у датасета в режиме извлечения |
| Структура таблиц источника | 5 минут | Завершение загрузки в витрину |
| Списки значений полей | 5 минут | — |
| Разбор файлов из объектного хранилища | 5 минут | — |
Экрана для правки этих значений нет: их задаёт администратор при развёртывании. Ниже — подробности по каждому кешу и наблюдаемые эффекты.
Выборка виджета
Готовый ответ виджета сохраняется, чтобы дашборд с сотней зрителей не превратился в сотню одинаковых запросов к источнику.
| Что | Значение по умолчанию |
|---|---|
| Срок жизни | 1 минута |
| Максимальный размер ответа | 1 МБ — ответы крупнее не кешируются |
Ключ кеша строится по плану запроса, права доступа в него не попадают — чужие данные через кеш не утекут. У датасета в режиме извлечения в ключе участвует версия витрины, поэтому после перезаливки выдача обновляется сразу. Для прямого запроса срок жизни — это и есть предел отставания.
Структура таблиц источника
Состав таблиц и колонок платформа снимает у драйвера и держит 5 минут. Без этого каждый виджет заново спрашивал бы источник о структуре.
Для витрины извлечения кеш сбрасывается точно — по отметке о завершении загрузки. Для живого источника 5 минут — предел отставания после ALTER TABLE: если в базе добавили колонку, в интерфейсе она появится не мгновенно.
Списки значений полей
Значения, которые подставляются в фильтры и правила видимости строк, кешируются на 5 минут.
Разбор файлов и S3
| Настройка | Значение по умолчанию |
|---|---|
| Файлов для определения схемы | 5 первых по шаблону |
| Срок жизни разобранного набора | 5 минут |
| Наборов в памяти одновременно | 16 |
| Предел числа файлов по шаблону | 10 000 |
Отсюда два наблюдаемых эффекта: только что залитый в бакет файл появляется не сразу, а колонка, которая есть лишь в шестом файле набора, в таблицу не попадёт. Подробнее — в разделе Источники данных.
Лимит колонок сводной таблицы
В шапке сводной таблицы не больше 200 колонок нижнего уровня. Если разбивка даёт больше, шапка обрезается, и виджет помечает выдачу как усечённую. Это не ошибка данных: чтобы увидеть всё, уменьшите разбивку или замените поле на менее дробное.
Где менять значения
Все сроки и лимиты задаются при развёртывании — переменными окружения сервиса или настройками bi.object-storage.* и widget.* в конфигурации приложения. Экрана для их правки в интерфейсе нет.