Оптимизация производительности при работе с агрегатами на базе основных данных
В этой статье содержатся рекомендации по работе с агрегатами на базе основных данных, применение которых позволит оптимизировать производительность системы.
Ключевое понятие |
Атрибуты навигации – это поля (инфо-объекты) таблицы атрибутов основных данных, связанные с признаком в инфо-кубе. Они обеспечивают дополнительные возможности выполнения отчетов и позволяют проектировщикам запросов создавать альтернативные версии. |
Большинство специалистов в области 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).