При работе с отчетностью часто возникают ситуации, когда отчетность выгружается некорректно, поскольку сложно отследить когда нужно сбрасывать кэш, а когда нет.
по какому принципу обновляется кэш olap-сервера?
по какому принципу обновляется кэш браузера?
Что должно произойти в системе, что она понимает, что вот сейчас необходимо сбросить кэш браузера, а вот сейчас надо сбросить кэш олап сервера?
Кэш OLAP-сервера обновляется при первом формировании отчета, построенном на OLAP.
Первое формирование отчета происходит в т.н. “холодном режиме”: данные забираются напрямую из БД, далее агрегаты рассчитываются, отправляются в отчет и параллельно помещаются в кэш. Повторно этот же отчет с этими же параметрами формируется на данных из кэша. Это заметно ускоряет процесс формирования, так как нет обращения к БД и нет пересчета данных. Если данные в БД обновлены (отработал ETL-процесс), но кэш не сброшен, то при формировании отчета данные будут забираться снова из кэша.
Существует несколько сценариев управления кэшем:
Ручной сброс кэша - используется чаще для проверок во время настройки кубов и ETL-процессов:
по источникам, кубам, размерностям точечно
по всему соединению массово (все кубы и размерности)
Блок в ETL-процессе по сбросу кэша с указанных кубов. Этот вариант наиболее частый - разработчик ETL сразу после обновления данных знает, какие таблицы были обновлены, и понимает, кэш каких кубов и размерностей стал инвалидным, поэтому может настроить сброс кэша по этим объектам.
Таким образом, все варианты сбрасывания кэша регулируются администратором системы, а система позволяет этот процесс автоматизировать и встроить в жизненный цикл данных в отчете.
Кэш браузера не принимает участия в формировании отчета. В кэше браузера хранится служебная информация, например, об открытых ранее вкладках. При перезагрузке страницы будут автоматически открыты вкладки, которые были открыты ранее. При открытии новой вкладки с отчетом в кэш будет помещена только информация о том, какая вкладка открыта. Информация хранится локально в браузере пользователя.