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

Загрузка данных в глобальный кеш

Загрузка кешированных данных в оперативную память

Сохранение данных при использовании глобального кеша

Консоль управления глобальным кешем

Потребление памяти и производительность

Сценарии использования глобального кеша

Логирование выполняемых действий

Ограничения работы глобального кеша

Работа с глобальным кешем

Многомерные кубы и справочники хранят данные в плоских реляционных структурах. При работе с многомерными кубами производится запрос выборки данных из реляционных структур, далее результаты выборок необходимо загружать и отстраивать в многомерные структуры. При больших объемах данных, фрагментации индексной информации реляционных структур, большом количестве условий в выборах на выполнение запроса, загрузки и отстройки в многомерных структурах может потребоваться много времени. Для ускорения работы в «Форсайт. Аналитическая платформа» реализована возможность работы с кешем данных справочников, стандартных кубов, а также построенных на них представлений-кубов и виртуальных кубов. При использовании кеша заранее загруженная и отстроенная многомерная структура сохраняется в СУБД и при первом обращении к объекту загружается в оперативную память.

Сохраненные в специальном формате данные загружаются в оперативную память, при этом трансформация в матрицу не требуется, так как данные уже хранятся в многомерном виде. Достаточно одного запроса, чтобы получить всю матрицу целиком и разместить её в оперативной памяти BI-сервера. В качестве источника хранения многомерных данных могут выступать специализированные многомерные базы данных, специальные файлы или специальные структуры данных в реляционных СУБД.

Поддерживается два режима работы с кешем:

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

Для получения подробной информации о работе с глобальным кешем в Fore обратитесь к статье «Работа с глобальным кешем в Fore».

Загрузка данных в глобальный кеш

Загрузка данных в глобальный кеш возможна при использовании консоли управления глобальным кешем. Формирования кеша данные можно разделить не только параметрами, но и сформировать кеш по определенной отметке в кубе. Сохранение в кеш всех данных здесь так же доступно.

Примечание. После задания или изменения настроек в файле settings.xml или в настройках системного реестра перезапустите BI-сервер.

Выбор варианта загрузки данных в глобальный кеш зависит от решаемых задач и структуры источников данных.

Загрузка кешированных данных в оперативную память

Загрузка кешированного объекта в оперативную память происходит при первом обращении к этому объекту. Затем в зависимости от настроек данные объекта будут доступны всем пользователям. Все дальнейшие обращения будут происходить к объекту в оперативной памяти, дополнительных запросов к СУБД не будет.

Полный кеш

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

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

Кеш по параметрам

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

Примечание. Для кубов с параметрами доступен только кеш по параметрам.

Сохранение данных при использовании глобального кеша

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

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

Для обновления данных в кеше заново «прогрейте» кеш, используя мастер «прогрева» кеша консоли управления глобальным кешем. Учитывайте особенности сохранения данных для полного кеша и для кеша по параметрам в многопользовательском режиме:

Консоль управления глобальным кешем

Для запуска консоли выполните команду  «Кеширование кубов» на боковой панели навигатора объектов. После чего на отдельной вкладке браузера будет открыта страница с адресом в формате:

http://<IP-адрес или DNS-имя сервера>/fp10.x/app/cache.html#repo=<идентификатор репозитория>

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

Доступные настройки:

Создание кеша данных

Для создания кеша данных и выбора объекта кеширования нажмите кнопку «Настроить» в области мастера создания кеша на стартовой странице консоли.

После выполнения действия будет открыта вкладка «Модель кеша»:

Задайте настройки:

Выбор куба для кеширования

Создание и редактирование записей кеша

Удаление записи кеша

Мастер «прогрева» кеша

Для наполнения записи кеша данными нажмите кнопку «Настроить» в области мастера «прогрева» кеша на стартовой странице консоли.

После выполнения действия будет открыта вкладка «Прогрев кеша»:

Задайте настройки:

Выбор куба для прогрева кеша

Настройка метода прогрева кеша

Мониторинг

Для просмотра записей, загруженных в память BI-сервера, нажмите кнопку «Настроить» в области мастера мониторинга памяти на стартовой странице консоли.

На странице будет отображён список записей кеша, которые в текущий момент загружены в память. Для очистки матрицы с данными у какой-либо записи кеша выделите её и нажмите кнопку «Очистить». Сама запись при этом остаётся загруженной, но количество точек для неё будет равно нулю.

Если с какой-либо записью происходит параллельная работа из прикладного кода и эта запись заблокирована на чтение/изменение, то в столбцах «Количество точек», «Дата», «Зарезервировано памяти» и «Используется памяти» будет отображен текст «Запись недоступна». Очистка такой записи будет невозможна.

Потребление памяти и производительность

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

Потребление памяти зависит от количества измерений, количества фактов и типа данных.

Усреднённые показатели потребления памяти и производительности кубов с вещественным типом данных:

Количество записей, млн.

Количество измерений

Количество фактов

Первое открытие без кеша, с.

Первое открытие с кешем, с.

Второе открытие с прогретым кешем, с.

Память, ГБ

10

5

1

19.7

3.6

0

0.52

10

5

5

52.0

31.6

0

2.3

10

10

1

43.2

4.6

0

0.68

10

10

5

67.2

35.7

0.01

3.2

10

18

1

67

9

0.01

1.2

10

18

5

90.3

48.4

0.01

4.8

100

5

1

216.6

40.4

0.01

4.7

100

10

1

279.4

48.2

0.01

6.5

100

18

1

567.6

135.4

0.01

9.3

Также учитывайте влияние настроек и структуры кубов на количество требуемой оперативной памяти:

Если при загрузке кеша закончилась оперативная память:

Сценарии использования глобального кеша

Используйте глобальный кеш, если у вас реализован сценарий:

Принимая решение об использовании кеширования данных в продукте «Форсайт. Аналитическая платформа», учитывайте:

Для получения возможности работать с разными фрагментами данных в различные моменты времени используйте кеш по параметрам вместо полного кеша. Для использования кеша по параметрам определите один или несколько параметров для объекта и сформируйте свой фрагмент кеша для каждой комбинации параметров. «Прогрев» каждого такого фрагмента кеша управляется отдельно и любой из них всегда можно добавить или удалить из общего пула фрагментов.

Логирование выполняемых действий

При работе с консолью управления кешем данных осуществляется логирование действий, которые выполняет пользователь. При первом открытии консоли внутри расширения «Кеш кубов» в папке «Служебные объекты» будут созданы таблицы для хранения лога. Запуск консоли должен осуществляться пользователем, который является администратором репозитория.

Создаются следующие таблицы:

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

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

Ограничения работы глобального кеша

Перед тем как принимать решение об использовании кеширования для данных ознакомьтесь c ограничениями:

При выполнении анализа данных и построении отчётов, построенных на кубах с включенным глобальным кешем, с помощью инструментов «Аналитические запросы (OLAP)», «Аналитические панели», «Отчёты», «Интерактивные формы ввода данных» недоступна следующая функциональность:

См. также:

Доступ к данным по технологии InMemory MOLAP