Сброс кэша

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

  1. по какому принципу обновляется кэш olap-сервера?
  2. по какому принципу обновляется кэш браузера?

Что должно произойти в системе, что она понимает, что вот сейчас необходимо сбросить кэш браузера, а вот сейчас надо сбросить кэш олап сервера?

Кэш OLAP-сервера обновляется при первом формировании отчета, построенном на OLAP.

Первое формирование отчета происходит в т.н. “холодном режиме”: данные забираются напрямую из БД, далее агрегаты рассчитываются, отправляются в отчет и параллельно помещаются в кэш. Повторно этот же отчет с этими же параметрами формируется на данных из кэша. Это заметно ускоряет процесс формирования, так как нет обращения к БД и нет пересчета данных. Если данные в БД обновлены (отработал ETL-процесс), но кэш не сброшен, то при формировании отчета данные будут забираться снова из кэша.

Существует несколько сценариев управления кэшем:

  1. Ручной сброс кэша - используется чаще для проверок во время настройки кубов и ETL-процессов:
  • по источникам, кубам, размерностям точечно
    image
    image

  • по всему соединению массово (все кубы и размерности)
    image

  1. Блок в ETL-процессе по сбросу кэша с указанных кубов. Этот вариант наиболее частый - разработчик ETL сразу после обновления данных знает, какие таблицы были обновлены, и понимает, кэш каких кубов и размерностей стал инвалидным, поэтому может настроить сброс кэша по этим объектам.
    image
    image

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

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

3 Likes