Поделиться через


Агрегаты и статистические схемы

Объект AggregationDesign задает ряд определений статистической обработки, которые могут совместно использоваться в нескольких секциях.

Объект Aggregation представляет результат суммирования данных группы мер при определенной гранулярности измерений.

Простой объект Aggregation содержит основную информацию и измерения. Основная информация включает в себя имя статистической обработки, идентификатор, аннотации и описание. Измерения — это коллекции объектов AggregationDimension, которые содержат список атрибутов гранулярности для измерения.

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

Кубы в технологии OLAP являются способом организации сводных данных в многомерные структуры. Измерения и их иерархии атрибутов отражают запросы, которые могут быть применены к кубу. Агрегаты хранятся в многомерной структуре в ячейках с координатами, заданными измерениями. Например, вопрос «Каков объем продаж продукта X в 1998 году в Северо-Западном регионе?» затрагивает три измерения («Продукт», «Время» и «География») и одну меру («Продажи»). Значение ячейки в кубе, расположенной в заданных координатах («Продукт X», «1998», «Северо-запад»), представляет собой ответ, одиночное числовое значение.

Другие вопросы могут возвращать несколько значений, например: «Каковы поквартальные объемы продаж оборудования по регионам в 1998 году?». Подобные запросы возвращают наборы ячеек из координат, удовлетворяющих заданным условиям. Количество ячеек, возвращаемых запросом, зависит от количества элементов на уровне «Оборудование» измерения «Продукт», четырех кварталов в 1998 году и числа регионов в измерении «География». Если все сводные данные были предварительно рассчитаны в агрегатах, то время отклика на запрос будет зависеть только от того, сколько времени понадобится для извлечения значений из указанных ячеек. Вычисление и чтение данных из таблицы фактов при этом не потребуются.

Хотя предварительные вычисления всех возможных агрегатов в кубе могут обеспечить самое малое время отклика для всех запросов, службы Службы Analysis Services достаточно легко вычисляют значения некоторых агрегатов на основе других предварительно вычисленных агрегатов. Кроме того, вычисление значений всех возможных агрегатов требует значительных затрат на вычисление и хранение. Следовательно, существует компромисс между требованиями к объему хранилища и количеством возможных агрегатов, для которых производятся предварительные вычисления (в процентах). Если значения агрегатов не вычисляются (0 %), то необходимое время обработки и место для хранения будут для куба минимальны, но запросы будут выполняться медленно, потому что необходимые для ответа данные должны будут извлекаться из конечных ячеек и затем статистически обрабатываться при обработке каждого запроса. Например, чтобы получить единственное число в ответ на упомянутый выше вопрос («Каков объем продаж продукта X в 1998 году в Северо-Западном регионе?») может потребовать считывания тысяч строк данных и извлечения для каждой из них значения столбца, в котором хранятся значения меры «Продажи». Кроме того, время, затраченное на получение данных, будет зависеть от выбранного режима хранения — MOLAP, HOLAP или ROLAP. См. также Режимы хранения и обработка секции.

Проектирование статистических схем

Службы Microsoft SQL Server Службы Analysis Services реализуют сложный алгоритм выборки агрегатов для предварительных вычислений, позволяющий быстро вычислять дополнительные агрегаты на основе предварительно вычисленных. Например, если существуют предварительно вычисленные агрегаты для уровня «Месяц» измерения «Время», то вычисление для уровня «Квартал» потребует всего лишь сложения трех чисел, которое быстро выполняется по мере необходимости. Такой подход позволяет сократить время обработки и снизить требования к объему хранилища, практически не сказываясь при этом на времени отклика.

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

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

См. также

Основные понятия