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

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

Алгоритм взаимодействия элементов:
InMemory MOLAP-сервер взаимодействует с СУБД, если выполняется кеширование, дозапрос или синхронизация данных.
BI-сервер и InMemory MOLAP-сервером взаимодействует с файловым кешем для получения данных куба.
При выборе данной конфигурации необходимо учитывать, что совместный доступ к физическому файловому хранилищу увеличивает число дисковых операций, поэтому могут возникать задержки из-за блокировок. Управление очередями осуществляется как на уровне платформы, так и на уровне файловой системы
Условные обозначения:
. Взаимодействие элементов системы на уровне
продукта;
. Взаимодействие элементов системы, доступное
при кешировании, дозапросе или синхронизации данных;
. Компоненты продукта;
. Протокол взаимодействия.
На схемах представлены конфигурации, затрагивающие только взаимодействие BI-сервера, InMemory MOLAP-сервера и СУБД, при этом алгоритм взаимодействия всех остальных элементов конфигурации системы остается неизменным.
Примечание. Допустимо обращение к InMemory MOLAP-серверу напрямую, без использования BI-сервера. Для этого заполните поле serviceUrl в файле config.json, указав адрес веб-сервиса InMemory MOLAP-сервера. При этом необходимо учитывать, что история изменений, вложения и комментарии не будут поддерживаться.
Комбинирование представленных конфигураций позволяет создать отказоустойчивую систему с возможностью гибкого распределения ресурсов:
Кластер InMemory MOLAP-серверов с раздельным доступом к данным. Каждый InMemory MOLAP-сервер имеет собственный кеш. В случае отказа основного сервера подключение будет осуществляться к резервному:

Кластер InMemory MOLAP-серверов с распределённой обработкой данных. Каждый InMemory MOLAP-сервер работает с единым кешем, при этом нагрузка по обработке данных распределяется между серверами:

Кластер InMemory MOLAP-серверов и кластер BI-серверов с распределённой обработкой данных и вычислительной нагрузкой для пользовательских операций:

Установка InMemory MOLAP-сервера выполняется аналогично установке BI-сервера с помощью дистрибутива, входящего в комплект поставки продукта:
в ОС Linux:
foresight-fp10.x-biserver*.deb для Debian-подобных дистрибутивов;
foresight-fp10.x-biserver*.rpm для RedHat-подобных дистрибутивов и ALT Linux;
в ОС Windows:
FP10BIServerIIS_x64.exe.
Для настройки сервера выполните шаги:
Задайте общие настройки сервера аналогичные настройкам BI-сервера в файле settings.xml или системном реестре.
Включите использование технологии InMemory MOLAP на сервере в файле settings.xml или в системном реестре. Для этого укажите параметр CacheType в разделе InMem.
Настройте сервер для формирования кешированных данных. Настройки зависят от используемого способа кеширования. Заполните раздел InMem в файле settings.xml или в системном реестре:
Укажите значение file для параметра CacheType.
Укажите полный путь к папке, в которой будут храниться файлы кеша, в качестве значения для параметра DataDir.
Укажите дополнительные настройки кеша для оптимизации использования данных кеша или включения использования дополнительных способов обработки данных.
Примечание. Если используется совместный доступ InMemory MOLAP-серверов и BI-серверов к общим данным, то дополнительно укажите значение true для параметра SharedAccess, а также учитывайте, что папка с файлами, которая указана в параметре DataDir должна быть сетевым ресурсом, общим для всех серверов.
Используйте «Консоль управления кешированием данных многомерных кубов» для настройки кеширования конкретных кубов.
Укажите значение global для строкового параметра CacheType в разделе InMem в файле settings.xml или в системном реестре.
Используйте «Консоль управления кешированием данных многомерных кубов» для дальнейшей настройки кеширования.
Настройте BI-сервер для получения кешированных данных. Настройки BI-сервера зависят от способа получения кешированных данных:
Настройте каждый BI-сервер, для этого в разделе Service в файле settings.xml или в системном реестре:
Укажите адрес и порт InMemory MOLAP-сервера для параметра address в подразделе Epts.
Укажите идентификатор репозитория для параметра Name и уникальное имя InMemory MOLAP-сервера, указанного в подразделе Epts, для параметра endpoint в подразделе Mbs.
Укажите ключи кубов или ярлыков на кубы репозитория, при работе с которыми будет осуществляться кеширование, для параметра Key и уникальное имя InMemory MOLAP-сервера, указанного в подразделе Epts, для параметра endpoint в подразделе Cubes в подразделе Mbs.
Настройте каждый BI-сервер, для этого в разделе InMem в файле settings.xml или в системном реестре:
Укажите значение true для параметра SharedAccess.
Укажите полный путь к папке, в которой будут храниться файлы кеша, в качестве значения для параметра DataDir.
Примечание. Если раздел, подраздел или параметр отсутствуют, то их необходимо создать вручную.
При работе с файловым кешем, то есть когда значение параметра CacheType=file, можно использовать дополнительные настройки для оптимизации использования данных кеша или включения использования дополнительных способов обработки данных.
Настройки можно разделить на настройки, которые:
определяют работу InMemory MOLAP-сервера. Настройки для сервера задаются в файле settings.xml или в системном реестре;
определяют работу InMemory MOLAP-сервера и каждого куба. Настройки для сервера задаются в файле settings.xml или в системном реестре. Настройки для куба задаются в консоли управления кешированием данных многомерных кубов. Доступна настройка с помощью Fore.
Дополнительные системные настройки для сервера:
| Параметры | Описание |
| BackupDir | Расположение файла резервной копии. Для сохранения файла резервной копии папка, в которой он будет располагаться, должна уже быть созданной. Параметр используется совместно с параметрами BackupType и BackupTagTemplate. |
| BackupTagTemplate | Шаблон наименования файла резервной копии. Параметр используется совместно с параметрами BackupType и BackupDir. |
| BackupType | Расширение файла резервной копии. Для использования установите параметру значение tzst. Параметр используется совместно с параметрами BackupTagTemplate и BackupDir. |
| CacheDims | Признак использования технологии InMemory MOLAP для кеширования данных справочников. Для кеширования справочников с использованием файлового кеша создайте параметр и установите ему значение true. |
| CacheLimitMb | Лимит дискового пространства, выделяемого для хранения переменного кеша данных, агрегированный по отметке. Значение указывается в мегабайтах. По умолчанию параметр не задан. Если параметр задан, то при превышении лимита будут удалены устаревшие/неиспользуемые данные кеша. Примечание. Ограничение влияет только на кеши агрегации и свёрток, вычисляемые по отметке. Остальные кешированные данные удаляться не будут, даже если объём кеша превысит заданный лимит. |
| DataDir | Путь к папке, в которой будут храниться файлы кеша. Если параметр не указан, то по умолчанию файлы сохраняются в папку:
Папка с файлами должна быть сетевым ресурсом, общим для всех MOLAP-серверов, если используется совместный доступ. Примечание. У пользователя операционной системы, который будет работать с кешированными данными, должны быть права на чтение/запись в указанную папку. |
| FixAggrPrecision | Отключение режима округления при агрегации. Допустимые значения:
В файловом кеше предусмотрено промежуточное округление чисел типа double так, чтобы не происходило потери точности результатов при агрегации. Заданная точность округления – пять знаков после запятой, что достаточно для использования в финансовых приложениях. |
| LogDebug | Логирование операций, выполняемых файловым кешем. Допустимые значения:
|
| MemLimitMb | Лимит оперативной памяти в мегабайтах, используемой файловым кешем. Если параметр не задан, то он настраивается автоматически. |
| PreloadData | Признак предварительной загрузки данных из кеша в память при первом обращении к кубу. Допустимые значения:
Примечание. Предварительная загрузка производится до тех пор, пока не превышены объем оперативной памяти или значение параметра MemLimitMb. |
| SharedAccess | Признак использования совместного доступа несколькими InMemory MOLAP-серверами. Позволяет организовать кластер с кешем. Допустимые значения:
|
| Threads | Количество потоков, в рамках которых будет осуществляться параллельная обработка данных при агрегировании. По умолчанию количество потоков равно количеству логических ядер процессора. |
Примечание. Все параметры должны иметь строковый тип, значения указываются строчными буквами.
Дополнительные настройки для сервера и для куба:
| Параметры | Описание |
| AdditiveCache | Признак использования аддитивного кеша. Допустимые значения:
|
| AggrType | Комплексный параметр, который определяет тип агрегации. Может заменять комбинацию параметров DefaultAggr, StoredLevels и StoredSemiAggrs и служит для упрощенной настройки. Допустимые значения:
Для расширенной настройки агрегации используйте комбинацию параметров DefaultAggr, StoredLevels и StoredSemiAggrs. |
| AllowAssoc | Признак разрешения построения индексирующей информации для выполнения ассоциативного анализа данных. Допустимые значения:
Если сбор данных ассоциативного анализа не включен, но инструменты отчётности запрашивают анализ, то данные будут собираться при первом обращении, что может вызвать задержку. |
| Columnar | Признак использования колоночного представления данных в свёртках. Допустимые значения:
Колоночное представление данных ускоряет работу свёрток. |
| ConvType | Режим применения свёрток - агрегированных данных, которые вычисляются в отчётах при агрегации фиксированных измерений и сохраняются в кеше для ускорения формирования отчётов. Допустимые значения:
При больших объёмах исходных данных первое кеширование агрегированных данных может занимать заметное время и существенно увеличить размер дискового пространства, которое будет занимать кеш. |
| DefaultAggr | Признак разрешения автоматического кеширования агрегации в выходе по умолчанию при кешировании данных куба. Допустимые значения:
|
| DimDupes | Признак использования поддержки дубликатов элементов измерений. Допустимые значения:
Дубликатами считаются элементы, которые имеют одинаковый ключ, но разных родителей в иерархии. |
| DynAggrAttr | Использование динамической агрегации. Для использования данного типа агрегации укажите идентификатор атрибута, который определяет дополнительные операции агрегации. Если настройка задаётся для сервера, то атрибут должен иметь одинаковый идентификатор для всех справочников. |
| InMemAggr | Использование производительной MOLAP-агрегации для некешированного куба. Для использования данного типа агрегации перечислите идентификаторы кубов через разделитель «;» или используйте значение all для всех кубов при настройке для сервера. Для куба допустимые значения:
|
Признак запрета получения данных из SQL-источника за пределами отметки для частичного кеша. Допустимые значения:
Включение запрета предполагается только в том случае, если требуется работа с данными по отметке, по которой был сформирован частичный кеш, без расширения за пределы отметки. |
|
Признак сохранения данных куба только в кеше. Допустимые значения:
|
|
| StoredLevels | Режим использования частично-хранимой агрегации. Допустимые значения:
При значении атрибута AggrType=stored или AggrType=stored_semi устанавливается значение StoredLevels=1;1, если оно не задано явно. |
| StoredLevelsByDim | Режим использования частично-хранимой агрегации с настройками для каждого измерения. Допустимые значения аналогичны параметру StoredLevels, но задаются в формате dimId=N или dimId=N;M, где:
Настройки для разных измерений разделяются символом «|». При использовании параметра StoredLevelsByDim совместно с параметром StoredLevels, значение параметра StoredLevels будет значением по умолчанию для справочников, которые не перечислены в StoredLevelsByDim. При использовании параметра StoredLevelsByDim отдельно, необходимо прописать все иерархические справочники с настроенной агрегацией. |
| StoredSemiAggrs | Признак относить ли к агрегатному уровню ячейки, частично состоящие по координатам из листьевых и из уровневых элементов. Допустимые значения:
Включение повышает скорость агрегации почти до полного хранения, но сильно увеличивает объём хранимых агрегатов. Параметр используется совместно с параметром StoredLevels. При значении атрибута AggrType=stored_semi устанавливается значение StoredSemiAggrs=true, если оно не задано явно. |
См. также:
Установка и настройка продукта «Форсайт. Аналитическая платформа»