Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Объект AggregationDesign определяет набор определений агрегирования, которые могут быть общими для нескольких секций.
Объект Aggregation представляет сводку данных группы мер с определенной степенью детализации измерений.
Простой Aggregation объект состоит из основных сведений и измерений. Основные сведения включают имя агрегата, идентификатора, заметок и описания. Измерения — это коллекция AggregationDimension объектов, содержащих список атрибутов детализации для измерения.
Агрегирование — это предварительно вычисляемые сводки данных из конечных ячеек. Агрегаты повышают время ответа на запрос, подготавливая ответы до того, как будут заданы вопросы. Например, если таблица фактов хранилища данных содержит сотни тысяч строк, запрос, запрашивающий еженедельные итоги продаж для определенной строки продукта, может занять много времени, чтобы ответить, если все строки в таблице фактов должны быть сканированы и суммированы во время запроса для вычисления ответа. Однако ответ может быть почти немедленным, если данные суммирования для ответа на этот запрос предварительно вычисляются. Это предварительное вычисление суммарных данных происходит во время обработки и является основой для быстрого времени отклика технологии OLAP.
Куби — это способ, которым технология OLAP упорядочивает сводные данные в многомерные структуры. Измерения и их иерархии атрибутов отражают запросы, которые могут быть запрошены кубом. Агрегаты хранятся в многомерной структуре в ячейках по координатам, заданным измерениями. Например, вопрос "Что такое продажи продукта X в 1998 году для северо-западного региона?" включает в себя три измерения (продукт, время и география) и одну меру (продажи). Значение ячейки в кубе с указанными координатами (product X, 1998, Северо-Запад) — это ответ, одно числовое значение.
Другие вопросы могут возвращать несколько значений. Например, "Сколько было продаж оборудования по кварталу по регионам в 1998 году?" Такие запросы возвращают наборы ячеек из координат, удовлетворяющих указанным условиям. Количество ячеек, возвращаемых запросом, зависит от количества элементов на уровне оборудования измерения Product, четырех четвертей в 1998 году и количества регионов в измерении Geography. Если все суммарные данные предварительно вычисляются в агрегаты, время отклика запроса будет зависеть только от времени, необходимого для извлечения указанных ячеек. Вычисление или чтение данных из таблицы фактов не требуется.
Хотя предварительное вычисление всех возможных агрегатов в кубе может обеспечить максимально быстрое время отклика для всех запросов, службы Analysis Services могут легко вычислить некоторые агрегированные значения из других предварительно вычисляемых агрегатов. Кроме того, для вычисления всех возможных агрегатов требуется значительное время обработки и хранилища. Таким образом, существует компромисс между требованиями к хранилищу и процентом возможных агрегатов, которые предварительно вычисляются. Если агрегирование не вычисляется (0%), объем необходимого времени обработки и места хранения куба сворачивается, но время отклика запроса может быть медленным, так как данные, необходимые для ответа на каждый запрос, должны быть извлечены из конечных ячеек, а затем агрегированы во время запроса для ответа на каждый запрос. Например, возвращая один номер, который отвечает на вопрос, заданный ранее ("Что было продаж продукта X в 1998 году для северо-западного региона"), может потребовать чтения тысяч строк данных, извлечения значения столбца, используемого для предоставления меры продаж из каждой строки, а затем вычисления суммы. Кроме того, время, необходимое для получения этих данных, очень зависит от режима хранения, выбранного для data-MOLAP, HOLAP или ROLAP.
Проектирование агрегатов
Microsoft SQL Server Analysis Services включает сложный алгоритм для выбора агрегатов для предварительного вычисления, чтобы другие агрегаты можно было быстро вычислить из предварительно вычисляемых значений. Например, если агрегаты предварительно вычисляются на уровне месяца иерархии времени, вычисление на уровне квартала требует только суммирования трех чисел, которые можно быстро вычислить по запросу. Этот метод экономит время обработки и сокращает требования к хранилищу с минимальным воздействием на время отклика запроса.
Мастер проектирования агрегирования предоставляет варианты указания ограничений хранилища и процентных ограничений алгоритма для достижения удовлетворительного компромисса между временем отклика запроса и требованиями к хранилищу. Однако алгоритм конструктора агрегирования предполагает, что все возможные запросы одинаково вероятны. Мастер оптимизации Usage-Based позволяет настроить структуру агрегирования для группы мер, анализируя запросы, отправленные клиентскими приложениями. С помощью мастера для настройки агрегирования куба можно увеличить скорость реагирования на частые запросы и уменьшить скорость реагирования на редкие запросы, не влияя на хранилище, необходимое для куба.
Агрегаты предназначены с помощью мастеров, но не вычисляются до тех пор, пока не будет обработан раздел, для которого обрабатываются агрегаты. После создания агрегирования, если структура куба когда-либо изменяется, или если данные добавляются в исходные таблицы куба или изменяются, обычно необходимо просмотреть агрегаты куба и снова обработать куб.