Установка InMemory MOLAP-сервера

InMemory MOLAP-сервер использует технологию InMemory MOLAP и обеспечивает загрузку данных из источников, локальное хранение данных, быстрый многопользовательский доступ и высокопроизводительную обработку данных.

Для получения подробной информации о технологии InMemory MOLAP обратитесь к статье «Доступ к данным по технологии InMemory MOLAP».

Конфигурация системы с использование InMemory MOLAP-сервера.

В зависимости от способа взаимодействия с кешированными данными можно выделить конфигурации:

Алгоритм взаимодействия элементов:

  1. BI-сервер взаимодействует с InMemory MOLAP-сервером при запросе данных куба.

  2. InMemory MOLAP-сервер взаимодействует с СУБД, если выполняется кеширование, дозапрос или синхронизация данных.

  3. InMemory MOLAP-сервер взаимодействует с файловым или глобальным кешем для сохранении данных куба в кеш или получения данных.

При выборе данной конфигурации необходимо учитывать, что взаимодействие требует высокой пропускной способности сети и поддержки передачи объёмных запросов.

Алгоритм взаимодействия элементов:

  1. InMemory MOLAP-сервер взаимодействует с СУБД, если выполняется кеширование, дозапрос или синхронизация данных.

  2. BI-сервер и InMemory MOLAP-сервером взаимодействует с файловым кешем для получения данных куба.

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

Условные обозначения:

На схемах представлены конфигурации, затрагивающие только взаимодействие BI-сервера, InMemory MOLAP-сервера и СУБД, при этом алгоритм взаимодействия всех остальных элементов конфигурации системы остается неизменным.

Примечание. Допустимо обращение к InMemory MOLAP-серверу напрямую, без использования BI-сервера. Для этого заполните поле serviceUrl в файле config.json, указав адрес веб-сервиса InMemory MOLAP-сервера. При этом необходимо учитывать, что история изменений, вложения и комментарии не будут поддерживаться.

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

  1. Кластер InMemory MOLAP-серверов с раздельным доступом к данным. Каждый InMemory MOLAP-сервер имеет собственный кеш. В случае отказа основного сервера подключение будет осуществляться к резервному:

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

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

Установка сервера

Установка InMemory MOLAP-сервера выполняется аналогично установке BI-сервера с помощью дистрибутива, входящего в комплект поставки продукта:

Настройка сервера

Для настройки сервера выполните шаги:

  1. Задайте общие настройки сервера аналогичные настройкам BI-сервера в файле settings.xml или системном реестре.

  2. Включите использование технологии InMemory MOLAP на сервере в файле settings.xml или в системном реестре. Для этого укажите параметр CacheType в разделе InMem.

  3. Настройте сервер для формирования кешированных данных. Настройки зависят от используемого способа кеширования. Заполните раздел InMem в файле settings.xml или в системном реестре:

  1. Укажите значение file для параметра CacheType.

  2. Укажите полный путь к папке, в которой будут храниться файлы кеша, в качестве значения для параметра DataDir.

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

Примечание. Если используется совместный доступ InMemory MOLAP-серверов и BI-серверов к общим данным, то дополнительно укажите значение true для параметра SharedAccess, а также учитывайте, что папка с файлами, которая указана в параметре DataDir должна быть сетевым ресурсом, общим для всех серверов.

  1. Используйте «Консоль управления кешированием данных многомерных кубов» для настройки кеширования конкретных кубов.

  1. Укажите значение global для строкового параметра CacheType в разделе InMem в файле settings.xml или в системном реестре.

  1. Используйте «Консоль управления кешированием данных многомерных кубов» для дальнейшей настройки кеширования.

  1. Настройте BI-сервер для получения кешированных данных. Настройки BI-сервера зависят от способа получения кешированных данных:

Настройте каждый BI-сервер, для этого в разделе Service в файле settings.xml или в системном реестре:

  1. Укажите адрес и порт InMemory MOLAP-сервера для параметра address в подразделе Epts.

  2. Укажите идентификатор репозитория для параметра Name и уникальное имя InMemory MOLAP-сервера, указанного в подразделе Epts, для параметра endpoint в подразделе Mbs.

  3. Укажите ключи кубов или ярлыков на кубы репозитория, при работе с которыми будет осуществляться кеширование, для параметра Key и уникальное имя InMemory MOLAP-сервера, указанного в подразделе Epts, для параметра endpoint в подразделе Cubes в подразделе Mbs.

Настройте каждый BI-сервер, для этого в разделе InMem в файле settings.xml или в системном реестре:

  1. Укажите значение true для параметра SharedAccess.

  2. Укажите полный путь к папке, в которой будут храниться файлы кеша, в качестве значения для параметра DataDir.

Примечание. Если раздел, подраздел или параметр отсутствуют, то их необходимо создать вручную.

Дополнительные настройки

При работе с файловым кешем, то есть когда значение параметра CacheType=file, можно использовать дополнительные настройки для оптимизации использования данных кеша или включения использования дополнительных способов обработки данных.

Настройки можно разделить на настройки, которые:

Дополнительные системные настройки для сервера:

Параметры

Описание

BackupDir

Расположение файла резервной копии. Для сохранения файла резервной копии папка, в которой он будет располагаться, должна уже быть созданной. Параметр используется совместно с параметрами BackupType и BackupTagTemplate.

BackupTagTemplate

Шаблон наименования файла резервной копии. Параметр используется совместно с параметрами BackupType и BackupDir.

BackupType

Расширение файла резервной копии. Для использования установите параметру значение tzst. Параметр используется совместно с параметрами BackupTagTemplate и BackupDir.

CacheDims

Признак использования технологии InMemory MOLAP для кеширования данных справочников. Для кеширования справочников с использованием файлового кеша создайте параметр и установите ему значение true.

CacheLimitMb

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

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

DataDir

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

  • «C:\ProgramData\Foresight\Foresight Analytics Platform\inmem_data\» для ОС Windows;

  • «/var/tmp/inmem_data» для ОС Linux.

Папка с файлами должна быть сетевым ресурсом, общим для всех MOLAP-серверов, если используется совместный доступ.

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

FixAggrPrecision

Отключение режима округления при агрегации. Допустимые значения:

  • true. Значение по умолчанию. Округление промежуточных результатов для значений типа double включено;

  • false. Округление промежуточных результатов выключено.

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

LogDebug

Логирование операций, выполняемых файловым кешем. Допустимые значения:

  • true. Логирование операций включено;

  • false. Значение по умолчанию. Логирование операций отключено.

MemLimitMb

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

PreloadData

Признак предварительной загрузки данных из кеша в память при первом обращении к кубу.

Допустимые значения:

  • true. Используется предварительная загрузка. При первом обращении к любому кешированному кубу происходит сканирование его кеша для полной загрузки в оперативную память. В результате этого первое использование куба будет медленным, а все последующие - максимально быстрыми;

  • false. Значение по умолчанию. Предварительная загрузка не используется.

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

SharedAccess

Признак использования совместного доступа несколькими InMemory MOLAP-серверами. Позволяет организовать кластер с кешем. Допустимые значения:

  • true. Используется совместный доступ;

  • false. Значение по умолчанию. Совместный доступ не используется.

Threads

Количество потоков, в рамках которых будет осуществляться параллельная обработка данных при агрегировании. По умолчанию количество потоков равно количеству логических ядер процессора.

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

Дополнительные настройки для сервера и для куба:

Параметры Описание
AdditiveCache

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

  • true. Значение по умолчанию. Аддитивный кеш включен для кубов с управляющими измерениями и альтернативными иерархиями;

  • false. Аддитивный кеш выключен;

  • force. Аддитивный кеш включен.

AggrType

Комплексный параметр, который определяет тип агрегации. Может заменять комбинацию параметров DefaultAggr, StoredLevels и StoredSemiAggrs и служит для упрощенной настройки. Допустимые значения:

  • request. Производится принудительный расчёт всех видов агрегаций в памяти, кеширование агрегированных значений не производится. Соответствует параметру DefaultAggr= false;

  • full. Значение по умолчанию. Используется полная хранимая агрегация, то есть все агрегированные значения кешируются. Соответствует параметру DefaultAggr= true;

  • levels. Режим использования частично-хранимой агрегации, у которой количество хранимых слоев и пропущенных равно «1». Соответствует параметрам DefaultAggr= true и StoredLevels=1;1;

  • levels_semi. Режим использования частично-хранимой агрегации, у которой количество хранимых слоев и пропущенных равно «1». При этом хранятся ячейки на агрегатных уровнях, а также «полуагрегатные ячейки», которые в части измерений находятся на агрегатных точках, а по остальным измерениям на уровне листьевых элементов. Соответствует параметрам DefaultAggr= true, StoredLevels=1;1 и StoredSemiAggrs=true.

Для расширенной настройки агрегации используйте комбинацию параметров DefaultAggr, StoredLevels и StoredSemiAggrs.

AllowAssoc

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

  • true. Данные для ассоциативного анализа собираются;

  • full. Данные для ассоциативного анализа собираются с учетом удаленных значений, то есть ячеек со значениями null;

  • false. Значение по умолчанию. Данные для ассоциативного анализа не собираются.

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

Columnar

Признак использования колоночного представления данных в свёртках. Допустимые значения:

  • true. Колоночное представление данных включено;

  • false. Значение по умолчанию. Колоночное представление данных выключено.

Колоночное представление данных ускоряет работу свёрток.

ConvType

Режим применения свёрток - агрегированных данных, которые вычисляются в отчётах при агрегации фиксированных измерений и сохраняются в кеше для ускорения формирования отчётов.  Допустимые значения:

  • simple. Построение свёрток по переданной отметке;

  • extend. Построение свёртки по полной отметке нефиксированных элементов;

  • deny. Значение по умолчанию. Использование свёрток запрещено.

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

DefaultAggr

Признак разрешения автоматического кеширования агрегации в выходе по умолчанию при кешировании данных куба. Допустимые значения:

  • true. Значение по умолчанию. Автоматическое кеширование агрегатов выполняется;

  • false. Автоматическое кеширование агрегатов не выполняется. Расчёт хранимых агрегатов производится при первом обращении к ним.

DimDupes

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

  • true. Значение по умолчанию. Поддержка дубликатов выполняется;

  • false. Поддержка дубликатов не выполняется.

Дубликатами считаются элементы, которые имеют одинаковый ключ, но разных родителей в иерархии.

DynAggrAttr

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

InMemAggr

Использование производительной MOLAP-агрегации для некешированного куба. Для использования данного типа агрегации перечислите идентификаторы кубов через разделитель «;» или используйте значение all для всех кубов при настройке для сервера.

Для куба допустимые значения:

  • true. MOLAP-агрегация используется для куба;

  • false. Значение по умолчанию. MOLAP-агрегация не используется для куба.

PartialRestricted

Признак запрета получения данных из SQL-источника за пределами отметки для частичного кеша. Допустимые значения:

  • true. Данные не запрашиваются;

  • false. Значение по умолчанию. Данные запрашиваются.

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

SaveInCache

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

  • true. Данные сохраняются только в кеше;

  • false. Значение по умолчанию. Данные сохраняются в кеше и в СУБД.

StoredLevels

Режим использования частично-хранимой агрегации. Допустимые значения:

  • N. Количество нижних хранимых слоёв;

  • N;M. Чередование количества хранимых слоёв - N, и пропущенных слоёв - M.

При значении атрибута AggrType=stored или AggrType=stored_semi устанавливается значение StoredLevels=1;1, если оно не задано явно.

StoredLevelsByDim

Режим использования частично-хранимой агрегации с настройками для каждого измерения. Допустимые значения аналогичны параметру StoredLevels, но задаются в формате dimId=N или dimId=N;M, где:

  • dimId. Идентификатор измерения.

Настройки для разных измерений разделяются символом «|».

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

StoredSemiAggrs

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

  • true. Ячейки относятся к агрегатному уровню;

  • false. Значение по умолчанию. Ячейки не относятся к агрегатному уровню.

Включение повышает скорость агрегации почти до полного хранения, но сильно увеличивает объём хранимых агрегатов.

Параметр используется совместно с параметром StoredLevels.

При значении атрибута AggrType=stored_semi устанавливается значение StoredSemiAggrs=true, если оно не задано явно.

См. также:

Установка и настройка продукта «Форсайт. Аналитическая платформа»