Для реализации кэширования применяется технология In-Memory. В «Форсайт. Аналитическая платформа» реализовано два подхода к работе с данными:
ROLAP. Получение данных SQL-запросами из различных СУБД, включая реляционные и колоночные, в режиме реального времени;
In-Memory. Получение необходимых данных из специализированных многомерных баз данных, специальных файлов или реляционных СУБД в оперативную память.
При каждом новом обращении к данным выполняется SQL-запрос к СУБД в режиме реального времени. Результат выполнения поступает на BI-сервер и преобразуется в матрицу данных, которая хранится в оперативной памяти BI-сервера. Операция обработки результата выполнения SQL-запроса занимает значительное время, особенно при большом количестве данных, полученных в результате выполнения запроса. Обработка результата происходит построчно, при этом скорость чтения данных ограничена скоростью конкретного типа СУБД. Такой подход характеризуется гибкостью и экономным расходом памяти, так как загрузить можно только те данные, которые необходимы сейчас.
In-Memory – это технология, обеспечивающая загрузку данных из источников в оперативную память с последующим обращением к ним «на лету» без необходимости обращения к диску или СУБД, за счет чего значительно увеличивается скорость доступа к данным и их обработки.
Сохраненные в специальном формате данные загружаются в оперативную память, при этом трансформация в матрицу не требуется, так как данные уже хранятся в многомерном виде. Достаточно одного запроса, чтобы получить всю матрицу целиком и разместить её в оперативной памяти BI-сервера. В качестве источника хранения многомерных данных могут выступать специализированные многомерные базы данных, специальные файлы или специальные структуры данных в реляционных СУБД.
Для кэширования данных в «Форсайт. Аналитическая платформа» по технологии In-Memory используются глобальный кэш. Для получения подробной информации о глобальном кэше обратитесь к статье «Работа с глобальным кэшем».
Механизмы обработки данных в «Форсайт. Аналитическая платформа»:
Сравнение механизмов обработки данных в «Форсайт. Аналитическая платформа»:
Критерий | ROLAP | Глобальный кэш |
Сценарии применения при обработке данных | Универсальное использование | Частое чтение и сохранение данных. |
Скорость создания (генерации) кэша данных | Кэш отсутствует | до 100 тыс. точек данных в 1 с. |
Скорость загрузки кэша данных в оперативную память | Кэш отсутствует | до 1 млн. точек данных в 1 с. |
Возможность восстановления данных после аварийной ситуации | Не требуется. Данные хранятся в СУБД, их сохранность обеспечивается средствами СУБД. | Есть |
Автоматическая трансляция измененных данных в многомерном кубе с данными в таблицах БД | Есть | Есть |
Дополнительные накладные расходы при сохранении данных | Нет | Нет |
Поддерживаемые СУБД | Все доступные для использования в «Форсайт. Аналитическая платформа». | Все доступные для использования в «Форсайт. Аналитическая платформа».
Для хранения метаданных кэша дополнительно требуется БД на PostgreSQL, Postgres Pro, Oracle или MS SQL Server. |
См. также:
Кэширование | Работа с глобальным кэшем | Кэширование объектов репозитория