Обзор логической архитектуры (службы Analysis Services — многомерные данные)
Службы Analysis Services работают в режиме развертывания сервера, который определяет архитектуру памяти и среду выполнения, используемую моделями Analysis Services различных типов. Режим сервера определяется во время установки. Многомерный режим и режим интеллектуального анализа данных поддерживает традиционный OLAP и интеллектуальный анализ данных. Табличный режим поддерживает табличные модели. Режим интеграции с SharePoint — это экземпляр служб Analysis Services, установленный как PowerPivot для SharePoint, используемый для загрузки моделей данных Excel или PowerPivot в книге и выполнения запросов к ним.
В этом разделе рассматривается основная архитектура служб Analysis Services, применяемая в режиме многомерных данных и интеллектуального анализа данных. Дополнительные сведения о других режимах см. в разделах Табличное моделирование (табличные службы SSAS) и Сравнение табличных и многомерных решений (SSAS).
Базовая архитектура
Экземпляр служб Analysis Services может содержать несколько баз данных, а база данных может одновременно содержать объекты OLAP и объекты интеллектуального анализа данных. Приложения подключаются к указанному экземпляру служб Analysis Services и указанной базе данных. На серверном компьютере может размещаться несколько экземпляров служб Analysis Services. Экземпляры служб Analysis Services называются "<Имя_>сервера\<Имя_экземпляра>". На следующем рисунке показаны все упомянутые связи между объектами служб Analysis Services.
Основные классы представляют собой минимальный набор объектов, требуемый для формирования куба. Этот минимальный набор объектов включает измерение, группу мер и секцию. Определение статистической обработки является необязательным.
Измерения создаются на основе атрибутов и иерархий. Иерархии формируются с использованием упорядоченного набора атрибутов, такого, что каждый атрибут соответствует одному из уровней в иерархии.
Кубы создаются на основе измерений и групп мер. Измерения в коллекции измерений куба принадлежат к коллекции измерений базы данных. Группы мер — это коллекции мер, которые имеют одно и то же представление источника данных и одно и то же подмножество измерений в кубе. Группа мер имеет одну или несколько секций, предназначенных для управления физическими данными. Группа мер может иметь применяемую по умолчанию статистическую схему. Статистическая схема по умолчанию может использоваться во всех секциях в группе мер; кроме того, каждая секция может иметь собственную статистическую схему.
Объекты сервера Каждый экземпляр служб Analysis Services рассматривается в AMO как другой объект сервера; каждый отдельный экземпляр подключается к объекту Server с помощью другого соединения. Каждый объект сервера содержит один или несколько источников данных, представлений источников данных и объектов баз данных, а также сборки и роли безопасности.
Объекты измерения Каждый объект базы данных содержит несколько объектов измерения. Каждый объект измерения содержит один или несколько атрибутов, которые организованы в виде иерархий.
Объекты куба Каждый объект базы данных содержит один или несколько объектов куба. Куб задается его мерами и измерениями. Меры и измерения куба выводятся из таблиц и представлений в представлении источника данных, на котором основан куб или который создан из определений мер и измерений.
Наследование объектов
Объектная модель ASSL содержит много повторяющихся групп элементов. Например, группа элементов "Dimensions
contain Hierarchies
" определяет иерархию измерения элемента. И в кубах Cubes
, и в группах мер MeasureGroups
содержится группа элементов «Dimensions
contain Hierarchies
».
Если элемент не переопределяется явно, он наследует все характеристики этой повторяющейся группы элементов от более высокого уровня. Например, значения Translations
для измерения куба CubeDimension
являются такими же, как и значения Translations
для элемента Cube
, являющегося его предком.
Чтобы иметь возможность явно переопределять свойства, унаследованные от объекта более высокого уровня, не обязательно явно повторять в объекте всю структуру и свойства объекта высокого уровня. Единственными свойствами, которые требуют явного определения в объекте, являются те свойства, которые необходимо переопределить. Например, в измерении куба CubeDimension
могут быть перечислены только те иерархии Hierarchies
, которые должны быть запрещены для использования в кубе Cube
, или те, что требуют изменения признака видимости, или же те, для которых некоторые подробности Level
не были предусмотрены на уровне Dimension
.
Некоторые свойства, заданные в объекте, предоставляют применяемые по умолчанию значения для дочерних объектов или объектов-потомков. Например, свойство Cube.StorageMode
предоставляет значение по умолчанию для свойства Partition.StorageMode
. Что касается унаследованных значений по умолчанию, то в ASSL для унаследованных значений по умолчанию применяются следующие правила.
Если свойство для дочернего объекта не определено в элементе XML, то по умолчанию в качестве значения свойства применяется унаследованное значение. Но если выполняется запрос этого значения с сервера, то сервер возвращает неопределенное значение элемента XML.
Возможность определить программным путем, было ли задано свойство дочернего объекта непосредственно на дочернем объекте или унаследовано, отсутствует.
Пример
Куб «Импорт» содержит две меры («Пакеты» и «Последняя дата») и три связанных измерения («Маршрут», «Источник» и «Время»).
Наименьшие буквенно-цифровые значения в кубе — это элементы измерений. Примеры элементов — «Наземный» (элемент измерения «Маршрут»), «Африка» (элемент измерения «Источник») и «1-й квартал» (элемент измерения «Время»).
Меры
Значение в ячейках куба представляют две меры — «Пакеты» и «Последняя дата». Мера «Пакеты» представляет число импортированных посылок; для статистической обработки фактов используется функция Sum
. Мера «Последняя дата» представляет собой дату получения; для статистической обработки используется функция Max
.
Измерения
Измерение «Маршрут» представляет пути, которыми импортируемый товар достигает своего назначения. В число элементов этого измерения входят «наземный», «не наземный», «воздушный», «морской», «дорожный» и «железнодорожный». Измерение «Источник» представляет место производства импортируемого товара, например Азию или Африку. Измерение «Время» представляет кварталы и полугодия.
Статистические выражения
Бизнес-пользователи куба могут определить значение любой меры для каждого элемента каждого измерения, независимо от уровня элемента в измерении, так как службы Analysis Services агрегируют значения на верхних уровнях по мере необходимости. Например, значения мер на предыдущем рисунке можно агрегировать в соответствии со стандартной иерархией календаря с помощью иерархии календарного времени в измерении Time, как показано на следующей схеме.
Помимо статистических вычислений с использованием одного измерения, возможна статистическая обработка мер с использованием сочетаний элементов из различных измерений. Это позволяет бизнес-пользователям вычислять меры в нескольких измерениях одновременно. Например, если бизнес-пользователь хочет проанализировать квартальный импорт, прибывший по воздуху из восточного и западного полушарий, он может создать запрос к кубу, чтобы получить следующий набор данных.
Пакеты | Последний | |||||||
---|---|---|---|---|---|---|---|---|
Все источники | Восточное полушарие | Западное полушарие | Все источники | Восточное полушарие | Западное полушарие | |||
Все время | 25110 | 6547 | 18563 | 29-дек-99 | 22-дек-99 | 29-дек-99 | ||
Первое полугодие | 11173 | 2977 | 8196 | 28-июн-99 | 20-июн-99 | 28-июн-99 | ||
Первый квартал | 5108 | 1452 | 3656 | 30-мар-99 | 19-мар-99 | 30-мар-99 | ||
Второй квартал | 6065 | 1525 | 4540 | 28-июн-99 | 20-июн-99 | 28-июн-99 | ||
Второе полугодие | 13937 | 3570 | 10367 | 29-дек-99 | 22-дек-99 | 29-дек-99 | ||
Третий квартал | 6119 | 1444 | 4675 | 30-сен-99 | 18-сен-99 | 30-сен-99 | ||
Четвертый квартал | 7818 | 2126 | 5692 | 29-дек-99 | 22-дек-99 | 29-дек-99 |
После определения куба можно создать новые агрегаты или изменить существующие агрегаты, установив параметры наподобие того, вычисляются ли агрегаты предварительно во время обработки или же вычисляются во время запроса. Связанный раздел:Агрегаты и агрегатные макеты.
Сопоставление мер, атрибутов и иерархий
Меры, атрибуты и иерархии в примере куба выводятся из следующих столбцов таблиц фактов и измерений куба.
Мера или атрибут (уровень) | Элементы | Исходная таблица | Исходный столбец | Образец значения столбца |
---|---|---|---|---|
Мера «Посылки» | Неприменимо | ImportsFactTable | Пакеты | 12 |
Мера «Последняя дата» | Неприменимо | ImportsFactTable | Последний | 03-май-99 |
Уровень категории «Маршрут» в измерении «Маршрут» | не наземный, наземный | RouteDimensionTable | Route_Category | Не наземный |
Атрибут «Маршрут» в измерении «Маршрут» | воздушный, морской, дорожный, железнодорожный | RouteDimensionTable | Маршрут | Морской |
Атрибут «Полушарие» в измерении «Источник» | Восточное полушарие, западное полушарие | SourceDimensionTable | Полушарие | Восточное полушарие |
Атрибут «Континент» в измерении «Источник» | Африка, Азия, Австралия, Европа, Северная Америка, Южная Америка | SourceDimensionTable | Continent | Европа |
Атрибут «Полугодие» в измерении «Время» | Первое полугодие, второе полугодие | TimeDimensionTable | Полугодие | Второе полугодие |
Атрибут «Квартал» в измерении «Время» | Первый квартал, второй квартал, третий квартал, четвертый квартал | TimeDimensionTable | Quarter | Третий квартал |
Данные в одной ячейке куба обычно выводятся из нескольких строк таблицы фактов. Например, ячейка куба на пересечении элемента air, элемента Africa и элемента 1-го квартала содержит значение, полученное путем агрегирования следующих строк в таблице фактов ImportsFactTable .
Import_ReceiptKey | RouteKey | SourceKey | TimeKey | Пакеты | Последний |
3516987 | 1 | 6 | 1 | 15 | 10-янв-99 |
3554790 | 1 | 6 | 1 | 40 | 19-янв-99 |
3572673 | 1 | 6 | 1 | 34 | 27-янв-99 |
3600974 | 1 | 6 | 1 | 45 | 02-фев-99 |
3645541 | 1 | 6 | 1 | 20 | 09-фев-99 |
3674906 | 1 | 6 | 1 | 36 | 17-фев-99 |
В предыдущей таблице каждая строка имеет одинаковые значения для столбцов RouteKey, SourceKey и TimeKey , что указывает на то, что эти строки влияют на одну ячейку куба.
Показанный здесь пример представляет очень простой куб, в том смысле, что это куб с единственной группой мер, а все таблицы измерений соединены с таблицей фактов по схеме «звезда». Другая схема — это схема «снежинка», в которой одна или несколько таблиц измерений присоединяются к другой таблице измерения, а не напрямую к таблице фактов. Связанный раздел:Измерения (службы Analysis Services — многомерные данные).
В приведенном здесь примере содержится только одна таблица фактов. Когда в кубе есть несколько таблиц фактов, меры каждой из них организуются в группы мер, причем группа мер связана с соответствующим набором измерений согласно заданным связям измерений. Эти связи определяются указанием участвующих таблиц в представлении источника данных и гранулярности связи. Связанный раздел:Связи измерений.