Условия наиболее эффективного использования гибридного режима:
Не используйте двойной пересчет в гибридном режиме. Вместо этого используйте порядок решения.
Если это целесообразно, преобразуйте сохраненные элементы, которые не относятся к уровню 0, в элементы динамического расчета.
Если преобразование в элементы динамического расчета влияет на порядок решения зависимых формул, может потребоваться изменить порядок измерений структуры, чтобы согласовать порядок решения с предыдущим порядком пакетной обработки и настройками двойного пересчета.
Порядок решения по умолчанию для кубов в гибридном режиме аналогичен порядку расчета кубов блочного хранения с некоторыми усовершенствованиями. Если требуется использовать нестандартный порядок решения, для измерений и элементов можно задать собственный порядок решения.
Динамически вычисляемая формула, обработанная в неправильном порядке решения, может привести к тому, что запрос будет выполнять слишком много формул, что приведет к снижению производительности. По возможности динамически вычисляемые разреженные формулы должны иметь более высокий порядок решения, чем иерархически сведенные разреженные измерения.
В некоторых случаях это невозможно, так как для получения правильных результатов формулы необходим другой порядок решения. Например, чтобы получить правильную стоимость продаж на верхних уровнях, для приложения с единицами измерения и ценами объем продаж должен выполняться перед разреженными агрегированиями.
Возможно, потребуется настроить плотные или разреженные конфигурации измерений (применимо только к использованию механизма блочного хранения в тех случаях, когда использование гибридного механизма невозможно).
По возможности минимизируйте размер блоков.
Администраторы Essbase могут использовать указанные ниже инструменты для мониторинга и оптимизации скорости обработки запросов в гибридном режиме.
Чтобы ограничить объем памяти, который может использоваться одним запросом, используйте настройку конфигурации MAXFORMULACACHESIZE.
Если в кубе имеются сложные формулы элементов с операторами с несколькими измерениями и несколькими операторами IF/ELSE, проблемы производительности могут быть связаны с выполнением формулы. При подозрении на это можно активировать обработку запроса снизу вверх для расчета формулы. Это позволяет оптимизировать время выполнения запросов путем определения требуемых пересечений для расчета, что делает время запроса пропорциональным размеру входных данных.
Чтобы оптимизировать запросы для версии 21C используйте настройку конфигурации QUERYBOTTOMUP, а также функцию расчета @QUERYBOTTOMUP. Для версии 19C используйте настройку конфигурации IGNORECONSTANTS с синтаксисом BOTTOMUP, а также функцию расчета @NONEMPTYTUPLE.
Отслеживание запросов используется для мониторинга и отладки скорости обработки запросов. В зависимости от сценария использования доступно несколько настроек конфигурации на уровне приложения. QUERYTRACE используется для кратковременной отладки одного запроса, который, по мнению пользователя, может быть источником проблем. TRACE_REPORT используется для сбора статистики о параллельных запросах (идеально подходит для отладки в среде разработки). LONGQUERYTIMETHRESHOLD используется в производственных средах для внесения в файл журнала приложения данных статистики о любых запросах, которые выполняются с превышением заданного времени.