Кэширование данных

Для реализации кэширования применяется технология In-Memory. В «Форсайт. Аналитическая платформа» реализовано два подхода к работе с данными:

ROLAP

При каждом новом обращении к данным выполняется SQL-запрос к СУБД в режиме реального времени. Результат выполнения поступает на BI-сервер и преобразуется в матрицу данных, которая хранится в оперативной памяти BI-сервера. Операция обработки результата выполнения SQL-запроса занимает значительное время, особенно при большом количестве данных, полученных в результате выполнения запроса. Обработка результата происходит построчно, при этом скорость чтения данных ограничена скоростью конкретного типа СУБД. Такой подход характеризуется гибкостью и экономным расходом памяти, так как загрузить можно только те данные, которые необходимы сейчас.

In-Memory

In-Memory – это технология, обеспечивающая загрузку данных из источников в оперативную память с последующим обращением к ним «на лету» без необходимости обращения к диску или СУБД, за счет чего значительно увеличивается скорость доступа к данным и их обработки.

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

Для кэширования данных в «Форсайт. Аналитическая платформа» по технологии In-Memory используются глобальный кэш. Для получения подробной информации о глобальном кэше обратитесь к статье «Работа с глобальным кэшем».

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

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

Критерий ROLAP Глобальный кэш
Сценарии применения при обработке данных Универсальное использование Частое чтение и сохранение данных.
Скорость создания (генерации) кэша данных Кэш отсутствует до 100 тыс. точек данных в 1 с.
Скорость загрузки кэша данных в оперативную память Кэш отсутствует до 1 млн. точек данных в 1 с.
Возможность восстановления данных после аварийной ситуации Не требуется. Данные хранятся в СУБД, их сохранность обеспечивается средствами СУБД. Есть
Автоматическая трансляция измененных данных в многомерном кубе с данными в таблицах БД Есть Есть
Дополнительные накладные расходы при сохранении данных Нет Нет
Поддерживаемые СУБД Все доступные для использования в «Форсайт. Аналитическая платформа». Все доступные для использования в «Форсайт. Аналитическая платформа».
Для хранения метаданных кэша дополнительно требуется БД на PostgreSQL, Postgres Pro, Oracle или MS SQL Server.

См. также:

Кэширование | Работа с глобальным кэшем | Кэширование объектов репозитория