Кеширование системных таблиц метаданных позволяет увеличить производительность системы и скорость открытия сложносоставных отчётов, использующих множество источников данных, в веб-приложении за счёт сокращения времени чтения системных таблиц из базы данных. При каждом запуске процесса BI-сервера создаётся кеш, соответствующий конкретному процессу.
Важно. Кеширование системных таблиц метаданных допустимо только в промышленной эксплуатации. При использовании кеширования не должны изменяться данные в системных таблицах метаданных.
Состав системных таблиц метаданных, которые входят в кеш, можно настраивать.
Кеш хранится в оперативной памяти и используется во время входа в репозиторий и при работе с объектами. Кеш является локальным для BI-сервера и глобальным для сессий, активных в рамках запущенного процесса BI-сервера. Если используется кластер BI-серверов, то кеш создаётся для каждого рабочего узла кластера и не синхронизируется друг с другом.
Для создания кеша требуется владелец схемы ADMIN или пользователь с правами на чтение системных таблиц.
Обновление кеша без перезапуска BI-сервера доступно только с использованием Fore.
Для принудительной очистки кеша системных таблиц в процессе работы BI-сервера используйте методы интерфейса IMetabaseManager. Если BI-сервер остановлен или перезапущен, то кеш сбрасывается автоматически, дополнительная очистка кеша не требуется.
Примечание. Для настройки кеширования системных таблиц метаданных обратитесь в техническую поддержку по адресу support@fsight.ru или через сервисы технической поддержки, которые доступны после регистрации на сайте.
Ограничения при кешировании:
размер памяти под данные типа BLOB в каждой таблице ограничен 256 МБ, а каждое значение не должно превышать 16 МБ. Если текущее значение типа BLOB превышает 16 МБ, то текущая запись пропускается и далее читаться будет из базы данных. Если общий размер памяти под BLOB превышает 256 МБ, то заполнение кеша текущей таблицей прерывается. Соответствующие сообщения выводятся в категории MBCACHE в отладочной информации;
запуск веб-сервера Apache2, на котором установлен BI-сервер, может прерываться из-за таймаутов запуска процесса, предусмотренных ОС. Для корректной работы кеширования увеличьте значения таймаутов запуска.
См. также: