Skip to content

Кеши и лимиты ​

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

Эта страница объясняет, почему данные иногда отстают и что проверять, когда пользователь сообщает, что цифры не обновились. Вторая частая причина отставания — не кеш, а режим датасета: в извлечении виджеты читают снимок, собранный по расписанию, см. Материализация.

Коротко: сроки и что их сбрасывает ​

Что кешируетсяСрокЧто сбрасывает раньше срока
Готовая выборка виджета1 минутаПересборка витрины у датасета в режиме извлечения
Структура таблиц источника5 минутЗавершение загрузки в витрину
Списки значений полей5 минут—
Разбор файлов из объектного хранилища5 минут—
Описание сущностей OData ($metadata)10 минут—

Экрана для правки этих значений нет: их задаёт администратор при развёртывании. Ниже — подробности по каждому кешу и наблюдаемые эффекты.

Выборка виджета ​

Готовый ответ виджета сохраняется, чтобы дашборд с сотней пользователей не превратился в сотню одинаковых запросов к источнику.

ЧтоЗначение по умолчанию
Срок жизни1 минута
Максимальный размер ответа1 МБ — ответы крупнее не кешируются

Ключ кеша строится по плану запроса. Правила видимости строк применяются до кеширования: в кеш попадает уже ограниченная выборка. У датасета в режиме извлечения в ключе участвует версия витрины, поэтому после перезаливки выдача обновляется сразу. Для прямого запроса срок жизни — это и есть предел отставания.

Структура таблиц источника ​

Состав таблиц и колонок платформа получает от драйвера и хранит 5 минут. Без этого каждый виджет заново спрашивал бы источник о структуре.

Для витрины извлечения кеш сбрасывается по отметке о завершении загрузки. Для живого источника 5 минут — предел отставания после ALTER TABLE: если в базе добавили колонку, в интерфейсе она появится не мгновенно.

Списки значений полей ​

Значения, которые подставляются в фильтры и правила видимости строк, кешируются на 5 минут.

Разбор файлов и S3 ​

НастройкаЗначение по умолчанию
Файлов для определения схемы5 первых по шаблону
Строк для превью1 000
Строк для определения типов колонок10 000
Срок жизни разобранного набора5 минут
Наборов в памяти одновременно16
Предел числа файлов по шаблону10 000
Предельный размер файла256 МБ
Подключений к хранилищу в памяти8, закрываются через 10 минут простоя

Предел размера касается только форматов, которые читаются целиком, — XLSX, документного JSON и ZIP. CSV, JSONL, Parquet и Avro платформа читает построчно, и на них ограничение не распространяется.

Не путайте с загрузкой файла в источник типа Файл: там свой предел — 50 МБ на файл, и он относится к самой загрузке, а не к чтению объектов из хранилища.

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

Чтение OData ​

Источник типа OData (1С) платформа читает по HTTP, поэтому у него свои пределы.

НастройкаЗначение по умолчанию
Записей в одной странице ($top)1 000
Таймаут HTTP-запроса60 секунд
Срок жизни разобранного $metadata10 минут

Страница крупнее уменьшает число обращений к 1С, но каждый ответ готовится дольше; таймаут одинаков и для запроса метаданных, и для страницы данных. Из срока жизни $metadata следует, что новый реквизит, опубликованный в 1С, появится в платформе не сразу, а в течение десяти минут.

Лимит колонок сводной таблицы ​

В шапке сводной таблицы не больше 200 колонок нижнего уровня. Если разбивка даёт больше, шапка обрезается, и виджет помечает выдачу как усечённую. Это не ошибка данных: чтобы увидеть всё, уменьшите разбивку или замените поле на менее дробное.

Где менять значения

Все сроки и лимиты задаются при развёртывании — переменными окружения сервиса или настройками bi.object-storage.* и widget.* в конфигурации приложения. Экрана для их правки в интерфейсе нет.

Что дальше ​