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


Обзор логической архитектуры (службы Analysis Services — многомерные данные)

Применимо к: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Службы Analysis Services работают в режиме развертывания сервера, который определяет архитектуру памяти и среду выполнения, используемую моделями Analysis Services различных типов. Режим сервера определяется во время установки. Многомерный режим и режим интеллектуального анализа данных поддерживает традиционный OLAP и интеллектуальный анализ данных. Табличный режим поддерживает табличные модели. Режим интеграции с SharePoint — это экземпляр служб Analysis Services, установленный как Power Pivot для SharePoint, используемый для загрузки и запроса моделей данных Excel или Power Pivot в книге.

В этом разделе рассматривается основная архитектура служб Analysis Services, применяемая в режиме многомерных данных и интеллектуального анализа данных. Дополнительные сведения о других режимах см. в разделах Табличное моделирование и Сравнение табличных и многомерных решений.

Базовая архитектура

Экземпляр SQL Server Analysis Services может содержать несколько баз данных, а база данных может одновременно содержать объекты OLAP и объекты интеллектуального анализа данных. Приложения подключаются к указанному экземпляру SQL Server Analysis Services и указанной базе данных. На серверном компьютере может размещаться несколько экземпляров SQL Server Analysis Services. Экземпляры SQL Server Analysis Services именуются как ServerName<>\<InstanceName>. На следующем рисунке показаны все упомянутые связи между SQL Server Analysis Services объектами.

Связи выполняющихся объектов AMO связи

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

Измерения создаются на основе атрибутов и иерархий. Иерархии формируются с использованием упорядоченного набора атрибутов, такого, что каждый атрибут соответствует одному из уровней в иерархии.

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

Объекты сервера
Каждый экземпляр SQL Server Analysis Services рассматривается как отдельный серверный объект в AMO; каждый отдельный экземпляр подключается к объекту Server с помощью другого соединения. Каждый объект сервера содержит один или несколько источников данных, представлений источников данных и объектов баз данных, а также сборки и роли безопасности.

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

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

Наследование объектов

Объектная модель ASSL содержит много повторяющихся групп элементов. Например, группа элементов "Dimensions contain Hierarchies" определяет иерархию измерений элемента. И Cubes, и MeasureGroups содержат группу элементов "Dimensions contain Hierarchies".

Если элемент не переопределяется явно, он наследует все характеристики этой повторяющейся группы элементов от более высокого уровня. Например, переводы для CubeDimension совпадают с переводами для элемента-предка Cube.

Чтобы иметь возможность явно переопределять свойства, унаследованные от объекта более высокого уровня, не обязательно явно повторять в объекте всю структуру и свойства объекта высокого уровня. Единственными свойствами, которые требуют явного определения в объекте, являются те свойства, которые необходимо переопределить. Например, CubeDimension может выводить список только тех иерархий , которые необходимо отключить в кубе, для которых необходимо изменить видимость или для которых некоторые сведения об уровне не были предоставлены на уровне измерения .

Некоторые свойства, заданные в объекте, предоставляют применяемые по умолчанию значения для дочерних объектов или объектов-потомков. Например, Cube.StorageMode предоставляет значение по умолчанию для Partition.StorageMode. Что касается унаследованных значений по умолчанию, то в ASSL для унаследованных значений по умолчанию применяются следующие правила.

  • Если свойство для дочернего объекта не определено в элементе XML, то по умолчанию в качестве значения свойства применяется унаследованное значение. Но если выполняется запрос этого значения с сервера, то сервер возвращает неопределенное значение элемента XML.

  • Возможность определить программным путем, было ли задано свойство дочернего объекта непосредственно на дочернем объекте или унаследовано, отсутствует.

Пример

Куб «Импорт» содержит две меры («Пакеты» и «Последняя дата») и три связанных измерения («Маршрут», «Источник» и «Время»).

Пример куба 1

Наименьшие буквенно-цифровые значения в кубе — это элементы измерений. Примеры элементов — «Наземный» (элемент измерения «Маршрут»), «Африка» (элемент измерения «Источник») и «1-й квартал» (элемент измерения «Время»).

Меры

Значение в ячейках куба представляют две меры — «Пакеты» и «Последняя дата». Мера Packages представляет количество импортированных пакетов, а функция Sum используется для агрегирования фактов. Мера Last представляет дату получения, а функция Max используется для агрегирования фактов.

Измерения

Измерение «Маршрут» представляет пути, которыми импортируемый товар достигает своего назначения. В число элементов этого измерения входят «наземный», «не наземный», «воздушный», «морской», «дорожный» и «железнодорожный». Измерение «Источник» представляет место производства импортируемого товара, например Азию или Африку. Измерение «Время» представляет кварталы и полугодия.

Статистические выражения

Бизнес-пользователи куба могут определить значение любой меры для каждого элемента каждого измерения, независимо от уровня элемента в измерении, так как SQL Server Analysis Services агрегирует значения на верхних уровнях по мере необходимости. Например, значения мер на предыдущем рисунке можно агрегировать в соответствии со стандартной иерархией календаря с помощью иерархии календарного времени в измерении Time, как показано на следующей схеме.

Схема мер, упорядоченных по временному

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

Пакеты | Временной интервал | Все источники | Восточное полушарие | Западное полушарие | | ---------- | ----------- | ------------------ | ------------------ |
|Все время|25110|6547|18563|
|1-я половина|11173|2977|8196|
|1 квартал|5108|1452|3656|
|2 квартал|6065|1525|4540|28 июня 99 |20 июня 99|28 июня 99 |
|2-я половина|13937|3570|10367|29 декабря 99|22 декабря 99|29 декабря 99|
|3 квартал|6119|1444|4675|30 сентября 99|18 сентября 99|30 сентября 99|
|4 квартал|7818|2126|5692|29 декабря 99|22 декабря 99|29 декабря 99|

Последний | Временной интервал | Все источники | Восточное полушарие | Западное полушарие | | ---------- | ----------- | ------------------ | ------------------ | |Все время|29 декабря 99|22 декабря 99|29 декабря 99|
|1-й тайм|28 июня 99 |20 июня 99|28 июня 99 |
|1 квартал|30-99 марта|19-99 марта|30-99 марта|
|2-й квартал|28 июня 99 |20 июня 99|28 июня 99 |
|2-я половина|29 декабря 99|22 декабря 99|29 декабря 99|
|3-й квартал|30 сентября 99|18 сентября 99|30 сентября 99|
|4-й квартал|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 — многомерные данные).

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

См. также:

Базы данных многомерных моделей