Yandex Cloud
Поиск
Связаться с экспертомПопробовать бесплатно
  • Кейсы
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
  • Marketplace
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
    • Акции и free tier
  • Кейсы
  • Документация
  • Блог
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»
Yandex DataLens
RU
  • Нейроаналитик DataLens
    • Обзор
    • Работа с датасетом
    • Модель данных
    • Настройки датасета
    • Версионирование
    • Добавление информации о датасете
    • Параметризация источников
    • Инвалидация кешей
    • Типы данных
    • Соответствие типов данных
  • Галерея в DataLens
  • Аудитные логи Audit Trails

В этой статье:

  • Этапы инвалидации
  • Типичные сценарии использования
  • Троттлинг и координация
  • Режимы инвалидации
  • Требования к результату инвалидационного запроса
  • Настройка проверки кеша
  • Тестирование инвалидации
  • Последний результат инвалидации
  • Обработка ошибок
  • Ограничения
  1. Датасеты
  2. Инвалидация кешей

Инвалидация кешей в Yandex DataLens

Статья создана
Yandex Cloud
Обновлена 14 мая 2026 г.
  • Этапы инвалидации
  • Типичные сценарии использования
  • Троттлинг и координация
  • Режимы инвалидации
  • Требования к результату инвалидационного запроса
  • Настройка проверки кеша
  • Тестирование инвалидации
  • Последний результат инвалидации
  • Обработка ошибок
  • Ограничения

DataLens кеширует результаты запросов к источникам данных, чтобы ускорить отображение чартов и дашбордов. По умолчанию кеш обновляется только после истечения TTL (времени жизни кеша в секундах). Если данные обновляются регулярно, но нечасто, и нужно видеть свежие данные, то проблема в том, что обновление зависит от TTL.

Инвалидация кешей помогает решить эту проблему. Система периодически отправляет «инвалидационный запрос» к источнику данных и проверяет, изменились ли данные. Если результат запроса изменился, кеш обновляется сразу, не дожидаясь истечения TTL.

Этапы инвалидацииЭтапы инвалидации

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

Система выполняет инвалидационный запрос с заданной периодичностью (троттлинг), а основной запрос — только когда данные действительно изменились или истекло время жизни кеша:

  1. Пользователь настраивает инвалидационный запрос в датасете (SQL или формулу с фильтрами). Такой запрос один на весь датасет. Его можно настроить только для датасета, который был сохранен хотя бы раз.
  2. При каждом запросе данных система сначала проверяет инвалидационный кеш.
  3. Если кеш инвалидации устарел (истек интервал троттлинга) — выполняется инвалидационный запрос к БД.
  4. Результат запроса — короткая строка, например "2024-01-15T10:30:00".
  5. Этот результат добавляется к ключу основного кеша данных.
  6. Когда результат меняется или истекает время жизни кеша, меняется ключ кеша, и данные загружаются заново.

Типичные сценарии использованияТипичные сценарии использования

  • Таблица с колонкой «updated_at» — инвалидационный запрос SELECT MAX(updated_at)::text FROM orders отслеживает последнее обновление.
  • Таблица с автоинкрементным ID — запрос SELECT MAX(id)::text FROM events отслеживает появление новых записей.
  • Таблица с версионированием — запрос SELECT version::text FROM metadata WHERE table_name = 'orders' отслеживает версию данных.

Троттлинг и координацияТроттлинг и координация

Троттлинг — величина, которая обеспечивает выполнение инвалидационного запроса не чаще чем раз в N секунд. Например, при значении 60 — не чаще раза в минуту, даже если за это время приходит 1 000 запросов данных. Пока интервал не истек, повторные запросы используют закешированный результат инвалидационного запроса.

Режимы инвалидацииРежимы инвалидации

Доступны следующие режимы:

  • Режим Нет — инвалидация не выполняется. Кеш обновляется только по истечении TTL. Это поведение по умолчанию.

  • Режим SQL — пользователь задает произвольный SQL-запрос, который выполняется напрямую к источнику данных.

    Требования:

    • Подключение должно поддерживать подзапрос.
    • SQL-запрос не должен быть пустым.
    • Результат должен соответствовать требованиям.
  • Режим По формуле — пользователь задает формулу DataLens (аналогично вычисляемому полю) и опциональные фильтры. Формула компилируется и выполняется через стандартный пайплайн запросов DataLens.

    Требования:

    • Формула не должна быть пустой.
    • Формула должна возвращать строковый тип.
    • Результат должен соответствовать требованиям.

    Режим По формуле удобен тем, что использует стандартные механизмы DataLens (формулы, фильтры) и не требует знания SQL-диалекта конкретной БД.

Требования к результату инвалидационного запросаТребования к результату инвалидационного запроса

Инвалидационный запрос (SQL или формула) должен возвращать результат, который соответствует следующим требованиям:

  1. Запрос должен вернуть ровно одну строку и один столбец.
  2. Значение должно быть строкой.
  3. Длина строки не должна превышать 100 символов.

Настройка проверки кешаНастройка проверки кеша

Чтобы настроить проверку кеша в датасете:

  1. В настройках подключения, на основе которого построен датасет, в разделе Настройки кеширования включите опцию Разрешить проверку кеша в датасетах и задайте период обновления кеша — не чаще, чем раз в N с. Возможные значения: от 30 до 86 400 секунд.

    Примечание

    Для режима инвалидации SQL включите опцию Уровень доступа SQL-запросов.

  2. Откройте датасет, для которого необходимо настроить проверку кеша.

  3. Перейдите на вкладку Проверка кэша.

  4. Выберите режим инвалидации и настройте параметры проверки:

    Нет
    По формуле
    SQL

    Инвалидация не выполняется. Кеш обновляется только по истечении TTL. Это поведение по умолчанию.

    1. Напротив поля Формула нажмите Добавить и задайте формулу DataLens, учитывая требования:

      • Формула не должна быть пустой.
      • Формула должна возвращать строковый тип.
      • Результат должен соответствовать требованиям.
    2. (опционально) Внизу слева нажмите Проверить результат. Вы можете проверить результат позже.

    3. Нажмите кнопку Сохранить.

    4. (опционально) Напротив поля Фильтрация нажмите Добавить и задайте условия фильтрации.

    1. Напротив поля SQL-запрос нажмите Добавить и введите текст запроса, учитывая требования:

      • Подключение должно поддерживать подзапрос.
      • SQL-запрос не должен быть пустым.
      • Результат должен соответствовать требованиям.
    2. (опционально) Внизу слева нажмите Проверить результат. Вы можете проверить результат позже.

    3. Нажмите кнопку Сохранить.

  5. Нажмите кнопку Проверить результат (недоступно для режима Нет) и убедитесь, что результат проверки соответствует требованиям.

  6. В правом верхнем углу редактирования датасета нажмите кнопку Сохранить.

Тестирование инвалидацииТестирование инвалидации

Тестирование инвалидационного запроса происходит без влияния на основной кеш и без учета троттлинга. Оно предназначено для отладки — позволяет убедиться, что инвалидационный запрос работает корректно и возвращает ожидаемый результат.

Доступно только для пользователей с правом редактирования на датасет (для защиты от утечки данных через RLS).

Чтобы выполнить тест инвалидации:

  1. Откройте датасет, для которого необходимо выполнить тест.
  2. Перейдите на вкладку Проверка кэша.
  3. Нажмите кнопку Проверить результат и убедитесь, что результат проверки соответствует требованиям.

Последний результат инвалидацииПоследний результат инвалидации

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

Доступно только для пользователей с правом редактирования на датасет.

Результатом может быть полученная строка или ошибка исполнения. Ошибка также может сигнализировать об отсутствии результата, если интервал троттлинга истек и запрос еще не выполнялся.

Чтобы посмотреть последний результат проверки:

  1. Откройте датасет, для которого необходимо выполнить тест.
  2. Перейдите на вкладку Проверка кэша. Напротив поля Последний результат отображается дата и время проведения последней проверки. Если последняя проверка завершилась с ошибкой, напротив поля Последний результат отображается Завершился с ошибкой.
  3. Нажмите кнопку Открыть, чтобы посмотреть результат проверки или кнопку Показать ошибку, чтобы посмотреть возникшую при проверке ошибку.

Обработка ошибокОбработка ошибок

Система инвалидации спроектирована по принципу graceful degradation — ошибки инвалидации никогда не блокируют основной запрос данных.

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

ОграниченияОграничения

  • Таймаут инвалидационного запроса — 20 секунд.
  • Максимальная длина результата запроса — 100 символов.
  • Количество строк в результате — ровно 1.
  • Количество столбцов в результате — ровно 1.
  • Тип результата — строка.

Была ли статья полезна?

Предыдущая
Параметризация источников
Следующая
Типы данных
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»