Создание оптимизированных кубов в гибридном режиме

Утилиты оптимизации куба Baseline, Calc Cache, Solve Order и Data Distribution помогают настроить кубы для повышения производительности.

Создавайте оптимизированные под гибридный режим кубы с помощью этих четырех утилит:
Утилиты Возвращаемые данные
Baseline Метрики производительности куба
Solve Order Порядок решения элементов в кубе
Calc Cache Данные, помогающие выбрать наилучший объем кэш-памяти расчетов для куба
Data Distribution Данные, помогающие выбрать измерения в качестве разреженных и плотных

Оптимизация базовых метрик для куба в гибридном режиме

Метрики, отслеживаемые утилитой Baseline, показывают, как работает система. Используйте эти метрики для определения базовой производительности, а затем для измерения преимуществ последующих оптимизаций.

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

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

Утилита Baseline создает панель управления для приложений и операционных процессов, которая может помочь в проектировании и оптимизации куба. При внедрении изменений и перестроении куба утилита Baseline помогает сравнить итерации изменений куба. На вкладке Essbase.Stats.Baseline в рабочей книге приложения утилита Baseline добавляет новые таблицы с последними данными для каждой итерации.

Подготовка к запуску утилиты оптимизации куба Baseline для куба в гибридном режиме

Перед запуском утилиты Baseline выполните указанные ниже действия.

  1. Разработайте и создайте рабочую книгу приложения.

    Чтобы создать рабочую книгу приложения, можно выгрузить шаблон книги приложения, а затем изменить ее в соответствии с вашими потребностями. См. раздел "Обзор шаблонов галереи".

  2. Очистите листы запросов в рабочей книге приложения метаданных Smart View:
    1. Перейдите на ленточную диаграмму Smart View.
    2. Выберите раздел Информация о листе и нажмите Удалить.

    Если на листах запросов содержатся метаданные с другого сервера, Конструктор кубов отображает предупреждение и приостанавливает обработку до тех пор, пока не будет получен ответ.

  3. Измените лист Cube.Settings с указанными ниже настройками конфигурации приложения.
    Настройка Значение
    ASODYNAMICAGGINBSO FULL
    HYBRIDBSOINCALCSCRIPT NONE
    INDEXCACHESIZE 100M
    DATACACHESIZE 100M
    ASODEFAULTCACHESIZE 100
    MAXFORMULACACHESIZE 102400
    INPLACEDATAWRITEMARGINPERCENT 20
    CALCCACHEDEFAULT 200000
    LONGQUERYTIMETHRESHOLD -1

Запуск утилиты оптимизации куба Baseline для куба в гибридном режиме

Утилита Baseline определяет плотные и разреженные измерения, размер данных (размеры файлов PAG и IND), размер блока, а также размеры кэша данных, индекса и расчета. Кроме того, она предоставляет метрики для загрузки данных, расчета и запроса.

Чтобы запустить утилиту Baseline, выполните указанные ниже действия.

  1. На ленточной диаграмме конструктора кубов выберите Задачи администрирования > Оптимизировать куб.
  2. (Дополнительно) Нажмите Настроить, чтобы выбрать базовые операции для запуска.
    • Построить куб — создание куба, определенного в рабочей книге приложения, и загрузка данных в таблицы данных.
    • Запуск сценариев расчета — запуск сценариев расчета, определенных в каждом из листов для расчета в рабочей книге приложения.

      Электронные таблицы расчетов выполняются в порядке появления в рабочей книге приложения. Оптимизация куба игнорирует свойство Выполнить расчет на листах для расчета.

      С помощью оптимизации куба поддерживаются только сценарии расчетов, которые могут выполняться из заданий. Нельзя запускать сценарии расчета, зависящие от текущего контекста сетки Smart View (например, вычисления, определенные с помощью функции @GRIDTUPLES, или сценарии, использующие подстановочные переменные среды выполнения, определенные с тегами <svLaunch>).

    • Выполнить запросы — выполнение запросов по листам запросов.
    • Экспортировать все — экспорт всех данных в кубе в каталог куба. После записи времени экспорта и размера файла файл экспорта удаляется автоматически.
  3. Нажмите Создать базовую линию.

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

    Создание куба займет некоторое время.

    Essbase создает лист Essbase.Stats.Baseline и добавляет его в рабочую книгу.

  4. Просмотрите лист Essbase.Stats.Baseline в рабочей книге приложения.
    • В первой таблице на листе отображается размер файлов загрузки данных, количество ячеек загрузки данных, размеры блока и кэша.
      Изображение первой таблицы на листе Essbase.Stats.Baseline, показывающее метрики базы данных.

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

      Изображение второй таблицы на листе Essbase.Stats.Baseline, показывающее плотные и разреженные измерения, общее количество и сохраненные элементы.

    • В разделе Загрузка и расчет отдельные строки "Script:" определяют, какой сценарий расчета занимает наибольшее время, и поэтому может потребовать оптимизации.
      Изображение третьей таблицы на листе Essbase.Stats.Baseline, показывающее время загрузки и расчета, блоки, данные и заданный размер файла индекса.

    • В разделе Запрос, Прочтенные блоки отображается количество запрошенных данных.

      Изменение динамического измерения на сохраняемое уменьшает это значение.

    • В разделе Запрос, Формулы отображается количество формул, выполненных в запросе.

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


      Изображение четвертой таблицы на листе Essbase.Stats.Baseline, показывающее время запроса, прочитанные блоки и выполненные формулы.

    • В последней таблице на листе отображается время экспорта и размер файла.
      Изображение пятой таблицы на листе Essbase.Stats.Baseline, показывающее время экспорта и размер файла.

Оптимизация порядка решения для куба в гибридном режиме

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

Запуск утилиты Solve Order для оптимизации кубов:

  1. На ленточной диаграмме конструктора кубов выберите Задачи администрирования > Оптимизировать куб.
  2. Нажмите Solve Order.
  3. Просмотрите лист Essbase.Stats.solveorder рабочей книги приложения.

Используйте информацию на листе Essbase.Stats.solveorder, чтобы настроить порядок решения для оптимизации производительности запросов. См. разделы Оптимизация куба для гибридного режима и Порядок решения в гибридном режиме.

Оптимизация кэша калькулятора для куба в гибридном режиме

Утилита Calc Cache рекомендует оптимальную настройку кэш-памяти расчетов для куба.

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

По умолчанию размер кэш-памяти расчетов составляет 200 000 байт. Максимальное значение равно 20 000 000 байт.

Кэш-память расчетов должна быть достаточно большой, чтобы содержать разреженные измерения, рассчитанные в сценарии расчета. Выделение большей кэш-памяти расчета, чем это необходимо, отрицательно влияет на производительность.

Для оптимизации кэш-памяти расчетов с помощью утилиты Calc Cache выполните указанные ниже действия.
  1. Чтобы уменьшить объем данных, запрашиваемых запросом, рассчитайте и сохраните одно или несколько измерений с помощью сценария расчета.

    Лучший выбор — это, как правило, наибольшее измерение.

  2. Переместите это измерение в качестве первого разреженного измерения в структуре.

    Алгоритм кэш-памяти расчета выбирает разреженные измерения для размещения в кэш-памяти, начиная с первого разреженного измерения.

  3. Создание куба без загрузки данных.

    Для работы утилиты Calc Cache необходимо создать куб.

  4. Запустите утилиту Calc Cache.

    Утилита отображает правильные настройки кэш-памяти рядом с каждым измерением до 20 МБ. При размере свыше 20 МБ выводится сообщение N/A. Как правило, достаточно настройки, не превышающей пару МБ.

    1. На ленточной диаграмме конструктора кубов выберите Задачи администрирования > Оптимизировать куб.
    2. Нажмите Calc Cache.
    3. Просмотрите лист Essbase.Stats.CalcCache рабочей книги приложения. Рекомендуемые настройки кэш-памяти расчетов можно просмотреть на листе Essbase.Stats.CalcCache в столбце Calc Cache.
      Изображение листа Essbase.Stats.CalcCache в рабочей книге приложения оптимизации типа куба.

  5. Найдите настройку Calc Cache на листе Essbase.Stats.CalcCache рядом с разреженными измерениями, которые были вычислены и сохранены в ходе выполнения шага 1.
  6. Если в ходе выполнения шага 1 было рассчитано одно измерение, установите для кэша расчета значение по умолчанию. Если в ходе выполнения шага 1 было рассчитано более одного измерения, выберите наибольшее значение Calc Cache из вычисленных значений.

    Добавьте это значение в раздел "Настройки приложения" на листе Cube.Settings. Кроме того, значение можно задать в настройках конфигурации приложения в веб-интерфейсе Essbase. Рекомендуется округлить его, чтобы обеспечить дополнительное пространство.

Оптимизация распределения данных для куба в гибридном режиме

Утилита Data Distribution помогает лучше понять данные в приложении и позволяет принимать важные решения по оптимизации куба.

Понимание данных помогает определить следующее:
  • Какие измерения должны быть плотными, а какие разреженными.

    Плотные измерения определяют блоки в приложении для блочного хранения. В идеале блок должен содержать измерения с наибольшим количеством данных и представлять собой основной макет запроса для этого приложения. Для приложений финансовой отчетности это обычно означает, что измерения Time и Account должны быть плотными.

  • Какие измерения необходимо рассчитать и сохранить с помощью сценария расчета.

    Одним из факторов, влияющих на скорость обработки запросов, является количество блоков в запросе. Если запрошенное количество блоков слишком велико, производительность запроса снижается. Чтобы уменьшить количество запрошенных блоков, предварительно рассчитайте элементы верхнего уровня одного или нескольких разреженных измерений. Сначала установите атрибут хранения измерений верхних элементов в качестве сохраненного атрибута (Сохранять или Без общего доступа), а затем запустите сценарий расчета, который выполнит сведение этого измерения с помощью CALC DIM или AGG.

  • Какие измерения следует использовать в качестве измерения задачи в команде FIXPARALLEL.

    Для оптимизации сценария расчета, используемого для сведения сохраненных разреженных измерений, используйте команду FIXPARALLEL. Важно выбрать правильные измерения задачи. Измерение задачи — это измерение, которое определяет, как расчет разделяется на потоки и выполняется параллельно. Один или несколько разреженных измерений должны содержать большую часть данных для сокращения количества пустых задач, и в идеале эти данные должны быть распределены равномерно.

Запуск утилиты распределения данных:
  1. На ленточной диаграмме конструктора кубов выберите Задачи администрирования > Оптимизировать куб.
  2. Выберите Распределение данных.

    Этот процесс может занять длительное время, особенно для больших моделей.

  3. Просмотрите таблицу Essbase.Stats.DataDist.

Изображение вкладки Essbase.Stats.DataDist в рабочей книге оптимизации куба со статистикой распределения данных.


Изображение вкладки Essbase.Stats.DataDist в рабочей книге оптимизации куба с блоками и ячейками для каждого блока.