Меню

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

|

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

Ключевое понятие
Атрибуты навигации – это поля (инфо-объекты) таблицы атрибутов основных данных, связанные с признаком в инфо-кубе. Они обеспечивают дополнительные возможности выполнения отчетов и позволяют проектировщикам запросов создавать альтернативные версии.

Большинство специалистов в области BI имеет представление об агрегатах. Многие из них охарактеризовали бы агрегаты как "дочерние инфо-кубы с меньшим количеством признаков, чем у базового родительского инфо-куба, обеспечивающие еще большее уплотнение данных, чем обычный инфо-куб". Использование агрегатов в запросах позволяет ускорить процесс выполнения отчетов.

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

В примере на Рис. 1 представлены зависящий (Mat_Color) и независящий (Cust_State) от времени атрибуты навигации. В этом примере также добавлены признаки инфо-куба (в таблицы измерений) – "State" и "Color". "State" относится к месту проживания (штат), а "Color" – к цвету выбранного материала. Признаки штата и цвета содержатся как в инфо-кубе, так и в основных данных.

Примечание
Для пользователей, применяющих в работе вместо агрегатов SAP NetWeaver BW Accelerator, эта статья неактуальна.

 

Рис. 1 Упрощенные таблицы для основных данных инфо-куба и плоского агрегата

Оформите подписку sappro и получите полный доступ к материалам SAPPRO

У вас уже есть подписка?

Войти

Обсуждения Количество комментариев1

Комментарий от  

Владислав Стуликов

  |  30 сентября 2010, 14:21

Комментарий к статье из BIexpert  » 2010 » 3

Комментарий эксперта
компании САПРАН
к статье «Оптимизация производительности при работе с агрегатами на базе основных данных»

Стуликов Владислав,
руководитель проектов
компания САПРАН

Создание агрегатов в SAP BI – это одно из мощных средств повышения производительности выполнения запросов. Одновременно с этим, возникают определенные нюансы и тонкости при использовании в агрегатах временно-зависимых атрибутов навигации.

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

Особенно хочется отметить интересный подход с базисными агрегатами, так как автор подчеркивает, что построение правильной иерархии агрегатов может быть выполнено как для целей повышения производительности отчетности, так и в целях радикального улучшения времени прогона изменений атрибутов. К этому подходу можно добавить, что полезно строить не один-два базисных агрегата, а продумывать создание нескольких агрегатов с целью получить целую иерархию для повышения производительности отчетов и выполнению процедур прогона изменений. Иерархию агрегатов можно просмотреть в транзакции ведения агрегатов выбором функции Aggregate tree (Shift-F6)

Так же хотелось бы порекомендовать периодическое выполнение регулярных проверок корректности данных в агрегатах при помощи программы RSDDK_CHECK_AGGREGATE (Note 1174503 - Analysis for incorrect results using aggregates).