Конфигурация модуля MDX#
Ниже приведена сводная информация о конфигурировании системы, которая необходима при использовании системы.
Настройка |
Описание |
Значение по умолчанию |
Конфигурационный файл |
|---|---|---|---|
insight.mdx.optimize-enabled |
Указывает, следует ли включать оптимизацию операторов для MDX-запросов в MDXK |
true |
insight.properties |
insight.mdx.calculate-total-need |
Определяет, вычисляет ли MDX-запрос в MDXK глобальные итоговые и промежуточные итоги |
true |
insight.properties |
insight.mdx.schema.create-from-dataset |
Указывает, будет ли MDX-запрос в MDXK создавать схему из набора данных |
true |
insight.properties |
insight.mdx.schema.refresh.disable |
Указывает, следует ли отключать обновление для MDX-запроса в MDXK |
false |
insight.properties |
insight.mdx.sql.orderby.enable |
Указывает, следует ли включать SQL ORDERBY в MDXK |
true |
insight.properties |
insight.mdx.sql.calcite-engine-hint.enable |
Определяет, должен ли OLAP принудительно использовать фреймворк Calcite при подключении BI-инструментов к MDXK и выполнении запросов, содержащих подобные представленным |
false |
insight.properties |
insight.mdx.skip-axis-nonempty-check |
Указывает, следует ли пропускать проверку на нулевое значение при вычислении оси в MDXK |
true |
insight.properties |
insight.mdx.mondrian.olap.case.sensitive |
Определяет, является ли оператор MDX-запроса в MDXK чувствительным к регистру |
true |
insight.properties |
insight.mdx.mondrian.xmlaSessionTimeToLive |
Определяет время жизни XMLA-сессии для клиента который работает с Mondrian. При значении 0 XMLA-сессия не будет очищаться планировщиком. Отрицательное значение запрещено. |
1d |
insight.properties |
insight.mdx.mondrian.rolap.maxQueryThreads |
Задает максимальное количество потоков запросов в MDXK |
50 |
insight.properties |
insight.mdx.mondrian.query.sql.page.size |
Задает максимальное количество записей, получаемых на одной странице при выполнении MDX-запроса с пагинацией |
10000 |
insight.properties |
insight.mdx.mondrian.rolap.generate.formatted.sql |
Определяет, должен ли MDX-запрос в MDXK форматировать выходной SQL-оператор |
false |
insight.properties |
insight.mdx.mondrian.rolap.star.EnableRolapCubeMemberCache |
Указывает, следует ли отключать кеширование членов иерархии для MDX-запроса в MDXK |
false |
insight.properties |
insight.mdx.mondrian.rolap.star.disableCaching |
Указывает, следует ли отключать кеширование для MDX-запроса в MDXK: true — очищать, false — не очищать |
true |
insight.properties |
insight.mdx.mondrian.rolap.star.cacheTimeToLive |
Определяет, сколько времени Mondrian должен хранить кеш Rolap схемы пользователя. По истечении времени схема и весь связанный кеш будут удалены. Если время не истекло и получен запрос по этой же схеме, то таймер ожидания будет перезапущен. |
300s |
insight.properties |
insight.mdx.mondrian.rolap.ignoreInvalidMembers |
Определяет, игнорирует ли MDX-запрос в MDXK недействительные члены |
true |
insight.properties |
insight.mdx.mondrian.rolap.ignoreInvalidMembersDuringQuery |
Указывает, игнорирует ли MDX-запрос в MDXK недействительные члены в запросах |
true |
insight.properties |
insight.mdx.mondrian.olap.pure-axes-calculate.source.type |
Указывает тип источника размерных данных при вычислении оси MDX-запроса в MDXK. Необязательными параметрами являются: SNAPSHOT, PARTIAL_CUBE, ALL_CUBE |
PARTIAL_CUBE |
insight.properties |
insight.mdx.mondrian.olap.pure-axes-calculate.cardinality-gap |
Задает максимальную кардинальность (эксклюзивность) таблицы измерений, которую любой SQL на одной таблице измерений в MDXK вынужден соблюдать, например, |
-1 |
insight.properties |
insight.mdx.mondrian.olap.pure-axes-calculate.total-cardinality-gap |
Задает максимальную кардинальность (эксклюзивную) любого результата total-axis SQL, который вынужден вести себя как |
0 |
insight.properties |
insight.mdx.mondrian.olap.support-non-default-all-member |
Определяет, поддерживает ли MDX-запрос в MDXK все члены не по умолчанию |
false |
insight.properties |
insight.mdx.mondrian.olap.cell.calc.join-dims |
Определяет, присоединяется ли MDX-запрос в MDXK к другим таблицам измерений при вычислении ячейки |
true |
insight.properties |
insight.mdx.mondrian.rolap.return-null-when-divide-zero |
Определяет, возвращает ли MDX-запрос в MDXK 0, если делитель равен 0 |
true |
insight.properties |
insight.mdx.mondrian.rolap.optimize-tuple-size-in-aggregate.enable |
Указывает, следует ли включать оптимизацию размера кортежей при агрегации MDX-запроса в MDXK |
false |
insight.properties |
insight.mdx.mondrian.rolap.calculate-cell-when-non-measure |
Указывает, следует ли агрегировать данные ячеек, когда MDX-запрос в MDXK не имеет мер |
false |
insight.properties |
insight.mdx.mondrian.sql.fetch-dim-from-snapshot |
Определяет, предпочитает ли MDX-запрос в MDXK извлекать данные об измерениях из моментальных снимков |
true |
insight.properties |
insight.mdx.mondrian.sql.enableOrderBy |
Указывает, добавлять ли collation (способ сортировки и сравнения) при запросе SQL в MDXK |
true |
insight.properties |
insight.mdx.mondrian.jdbc.timezone |
Задает часовой пояс в формате GMT для службы запросов JDBC в MDXK. Смещает выдаваемые значения даты/времени на разницу часовых поясов в JVM и в значении параметра. |
Соответствует часовому поясу JVM |
insight.properties |
insight.mdx.mondrian.schema.init-level-group-order-by-key |
Определяет, должен ли MDX-запрос в MDXK инициализировать уровень по значению ключа |
true |
insight.properties |
insight.mdx.mondrian.query.filter-pushdown.enable |
Указывает, включен ли в MDXK режим MDX-запросов для фильтрации pushdown |
true |
insight.properties |
insight.mdx.mondrian.query.filter-pushdown.in-clause-max-size |
Задает максимальное количество фильтрующих клаузул MDX-запросов в MDXK |
20 |
insight.properties |
insight.mdx.mondrian.query.sql.customize.enable |
Указывает, следует ли включать настройку MDX-запросов в MDXK SQL |
true |
insight.properties |
insight.mdx.mondrian.query.sql.customize.class |
Определяет класс реализации MDX-запроса CustomizeSqlQuery в MDXK |
|
insight.properties |
insight.mdx.mondrian.query.sql.max.size |
Задает максимальное количество строк запроса для SQL-запроса в MDXK |
50000 |
insight.properties |
insight.mdx.mondrian.olap.triggers.enable |
Указывает, уведомлять ли Mondrian при изменении конфигурационных свойств MDX-запроса в MDXK |
true |
insight.properties |
insight.mdx.mondrian.rolap.nonempty |
Указывает, нужно ли в MDXK задавать непустое значение для каждой оси запроса |
false |
insight.properties |
insight.mdx.mondrian.rolap.compareSiblingsByOrderKey |
Указывает, проверяет ли MDX-запрос в MDXK сиблинговые члены и извлекает ли члены из исходного выражения для проверки |
false |
insight.properties |
insight.mdx.mondrian.rolap.maxSqlThreads |
Задает максимальное количество экземпляров Mondrian, которые поддерживают SQL в MDXK |
100 |
insight.properties |
insight.mdx.mondrian.rolap.maxCacheThreads |
Задает максимальное количество потоков на один экземпляр Mondrian, когда MDX-запрос в MDXK поддерживает кеширование |
100 |
insight.properties |
insight.mdx.mondrian.rolap.queryTimeout |
Установка времени тайм-аута MDX-запроса, в секундах |
insight.properties |
|
insight.mdx.mondrian.olap.NullMemberRepresentatio |
Определяет, как отображать MDX-запрос в MDXK, когда результат пуст |
null |
insight.properties |
insight.mdx.mondrian.visualtotal.solve.order |
Определяет общий порядок настройки MDX-запроса в MDXK |
insight.properties |
|
insight.mdx.mondrian.cross-join.native.enable |
Определяет, использовать ли нативный Cross JOIN при отправке запросов в MDXK |
true |
insight.properties |
insight.mdx.mondrian.filter.row.limit |
Указывает, добавлять ли условие Limit при подключении BI-инструментов к MDXK и выполнении операции Filter. По умолчанию установлено значение 0, что означает, что условие Limit не добавляется. Если значение равно 10, то в запрос будет добавлено SQL-условие limit 10. Примечание: Параметры здесь должны быть записаны в целых положительных числах, иначе при выполнении MDX-запроса вернется ошибка. Примечание: После установки этого параметра может произойти обратная операция выбора из выпадающего списка в инструментах анализа данных |
0 |
insight.properties |
insight.mdx.mondrian.result.limit |
Указывает количество строк, возвращаемых проверкой SQL, и количество ячеек. Если предел превышен, то будет возвращена непосредственно ошибка |
100000 |
insight.properties |
insight.mdx.mondrian.mdprop.mdx.subqueries |
Указывает уровень поддержки подзапросов в MDX-запросе. По умолчанию параметр принимает значение 2 и не поддерживает подзапросы |
insight.properties |
|
insight.mdx.mondrian.query.sql.model-priority-hint.enable |
Если эта опция включена, то модель, на которую ссылается набор данных, будет указываться в SQL-запросах как модель с высоким приоритетом через указание MODEL_PRIORITY |
true |
insight.properties |
insight.mdx.xmla.support-rowset-visibilities |
Определяет, следует ли включить поддержку ограничений HIERARCHY_VISIBILITY и MEASURE_VISIBILITY, предусмотренных XML/A Schema |
insight.properties |
|
insight.mdx.mondrian.query.limit |
Максимальное количество одновременных запросов, которое допускает система |
1000 |
insight.properties |
insight.mdx.mondrian.query.kylin.enabled |
Добавляет все связи таблиц в SQL-запрос, используя тип JOIN-а, указанный в модели Kylin. Актуально только для Kylin драйвера |
true |
insight.properties |
Конфигурация модуля MDX для работы GROUPING SETS#
Ниже приведена сводная информация о конфигурировании системы для работы GROUPING SETS.
Настройка |
Описание |
Значение по умолчанию |
Конфигурационный файл |
|---|---|---|---|
insight.mdx.mondrian.rolap.aggregates.Use |
Укажите возможность использования агрегационных таблиц компонентом MDXK для работы |
false |
insight.properties |
insight.mdx.mondrian.rolap.aggregates.Read |
Укажите возможность чтения агрегационных таблиц компонентом MDXK для работы |
false |
insight.properties |
insight.mdx.mondrian.rolap.groupingsets.enable |
Укажите возможность генерации агрегационных SQL-запросов с использованием |
false |
insight.properties |
Параметры интеграции с Platform V Monitor (OPM)#
Система поддерживает асинхронную отправку событий аудита в компонент COTE.
При старте приложения происходит отправка предопределенной мета-модели для регистрации, и далее каждая значимая операция в системе также сопровождается отправкой соответствующего события в компонент COTE. Конфигурирование интеграции и отправки сообщений предопределяется набором параметров, представленных в таблицах ниже.
Базовые параметры#
Параметр |
Описание |
Значение по умолчанию |
Конфигурационный файл |
|---|---|---|---|
insight.MDXK.auditSE.enabled |
Включение/отключение отправки событий в компонент COTE |
true |
insight.properties |
insight.MDXK.auditSE.host |
FQDN/IP-адрес сервера компонента COTE |
— |
insight.properties |
insight.MDXK.auditSE.endpoint-prefix |
Базовый префикс для каждого endpoint сервера компонента COTE |
— |
insight.properties |
insight.MDXK.auditSE.port |
Порт сервера компонента COTE |
— |
insight.properties |
insight.MDXK.auditSE.timeout |
Тайм-аут обращения к API сервера компонента COTE в миллисекундах |
10 000 |
insight.properties |
insight.MDXK.auditSE.node-id |
IP и FQDN (через пробел) узла АС или FQDN среды контейнеризации, с которого происходит отправка событий аудита |
— |
insight.properties |
insight.MDXK.auditSE.user-node-id-headers |
Список HTTP-заголовков для попытки извлечения IP-запроса инициатора операции |
— |
insight.properties |
insight.MDXK.auditSE.metamodel-module |
Имя модуля в метамодели |
— |
insight.properties |
insight.MDXK.auditSE.OTTS.enabled |
Включение ( |
true |
insight.properties |
insight.MDXK.auditSE.OTTS.url |
URL сервиса OTTS. Используется встроенным в клиент OTTS программным БН как шаблон для формирования ссылок при вызове серверов OTTS, указанных в параметре |
- |
insight.properties |
insight.MDXK.auditSE.OTTS.hosts |
Список серверов OTTS. Порт (8080 или 8443) должен соответствовать протоколу (HTTP или HTTPS), указанному в |
- |
insight.properties |
insight.MDXK.auditSE.OTTS.id |
Идентификатор приложения/namespace в OTTS |
- |
insight.properties |
insight.MDXK.auditSE.OTTS.auth-realm |
Авторизационный realm |
mmt |
insight.properties |
insight.MDXK.auditSE.OTTS.module-attribute-id |
Атрибут контекста авторизации, в котором передается идентификатор приложения/namespace в OTT. При пустом значении параметров будет использовать значение из КМ OTT |
- |
insight.properties |
insight.MDXK.auditSE.OTTS.token-type-attribute-id |
Атрибут контекста авторизации, в котором передается тип запрашиваемого токена. При пустом значении параметров будет использовать значение из КМ OTT |
- |
insight.properties |
insight.MDXK.auditSE.OTTS.action-id |
Action, используется для совместимости с ММТ |
request |
insight.properties |
insight.MDXK.auditSE.OTTS.receiver-id |
Идентификатор OTTS для приложения получателя |
- |
insight.properties |
Параметры настройки повторной отправки данных аудита в случае возникновения проблем при отправке#
Параметр |
Описание |
Значение по умолчанию |
Конфигурационный файл |
|---|---|---|---|
insight.MDXK.auditSE.retry.period-ms |
Стартовая длительность ожидания до осуществления повторной отправки данных в компонент COTE при проблемах отправки (в миллисекундах) |
100 |
insight.properties |
insight.MDXK.auditSE.retry.max-period-ms |
Максимальная длительность ожидания до осуществления повторной отправки данных в компонент COTE при проблемах отправки (в миллисекундах) |
1000 |
insight.properties |
insight.MDXK.auditSE.retry.max-attempts |
Максимальное количество повторных отправок, которые будут выполнены при проблемах отправки данных в компонент COTE |
3 |
insight.properties |
Параметры настройки пула потоков и очереди событий для асинхронной отправки данных аудита#
Параметр |
Описание |
Значение по умолчанию |
Конфигурационный файл |
|---|---|---|---|
insight.MDXK.auditSE.thread-pool.core-pool-size |
Минимальное количество потоков в пуле (не менее 2) |
4 |
insight.properties |
insight.MDXK.auditSE.thread-pool.maximum-pool-size |
Максимальное количество потоков в пуле |
8 |
insight.properties |
insight.MDXK.auditSE.thread-pool.keep-alive-time-in-seconds |
Время ожидания дополнительных потоков в пуле до удаления |
32 |
insight.properties |
insight.MDXK.auditSE.thread-pool.queue-capacity |
Фиксированный размер очереди событий, ожидающих отправки |
256 |
insight.properties |
Параметры чтения дополнительных конфигурационных файлов с данными учетных записей#
В целях безопасности данные учетных записей для подключения к БД вынесены в отдельный файл конфигурации. Путь ожидаемого расположения файла настраиваются с помощью параметра:
Параметр |
Описание |
Значение по умолчанию |
Конфигурационный файл |
|---|---|---|---|
secret.DB.path |
Путь к файлу с данными учетной записи для подключения к БД |
|
insight.properties |
Параметры учетной записи подключения к БД#
Логин и пароль для подключения к БД настраиваются с помощью параметров:
Параметр |
Описание |
Значение по умолчанию |
Конфигурационный файл |
|---|---|---|---|
meta.DB.login |
Логин для подключения к БД (должно быть закодировано в base64) |
— |
MDXK_DB_secret.properties |
meta.DB.password |
Пароль для подключения к БД (должно быть закодировано в base64) |
— |
MDXK_DB_secret.properties |
Конфигурация JVM#
JVM настраивается в конфигурационном файле $MDX_HOME/semantic-mdx/set-jvm.sh. Конфигурация по умолчанию использует меньше памяти, но возможно ее изменение в соответствии с целями проекта.
Конфигурация по умолчанию имеет следующие значения:
jvm_xms=-Xms3g # Начальная память JVM при запуске MDXK
jvm_xmx=-Xmx16g # Максимальный объем памяти JVM при запуске MDXK
Кроме того, конфигурацию JVM можно изменить в файле $MDX_HOME/conf/insight.properties, который имеет более высокий приоритет, чем вышеупомянутый файл set-jvm.sh.
В качестве примера можно привести следующую конфигурацию:
insight.mdx.jvm.xms=-Xms3g
insight.mdx.jvm.xmx=-Xmx16g
При запуске компонента MDXK система по умолчанию загружает параметры, определенные в конфигурационном файле $MDX_HOME/semantic-mdx/set-jvm.sh.
Если параметры были изменены, перезапустите компонент MDXK, чтобы новые значения параметров вступили в силу.