- •Понятие хранилища данных
- •Физические и виртуальные хранилища данных
- •Проблематика построения хранилищ данных
- •Витрины данных
- •Понятие и модель данных olap
- •Понятие olap
- •Категории данных в хд
- •Информационные потоки в хд
- •Структура olap-куба
- •Иерархия измерений olap-кубов
- •Операции, выполняемые над гиперкубом
- •Архитектура olap-систем
- •1.8.1. Слой извлечения, преобразования и загрузки данных
- •1.8.2. Слой хранения данных
- •1.8.3. Слой анализа данных
- •Клиентские olap-средства
- •Серверные olap-средства
- •Технические аспекты многомерного хранения данных
- •Общие сведения о многомерном анализе данных при помощи службы sql Server 2008 Analysis Services
- •Возможности службы ssas
- •Компоненты bi-решения Microsoft
- •Масштабируемость и производительность
- •Представление источника данных
- •Интеграция с Microsoft Office System 2007
- •Локализация решения посредством использования переводов
- •Инструменты управления службой ssas
- •Планирование и архитектура ssas
- •Логическая архитектура
- •Физическая архитектура
- •Архитектура программирования ssas
- •3.3.1. Объекты amo
- •3.3.2. Язык assl
- •3.3.3. Поставщик данных adomd.Net
- •Разработка многомерных баз данных с использованием ssas
- •Проектирование и реализация многомерных баз данных
- •Решения, проекты и элементы
- •Типы проектов бизнес-аналитики
- •Выбор между ssms и bi Dev Studio
- •Создание проекта служб Analysis Services в среде bi Dev Studio
- •Папки проекта служб Analysis Services
- •Типы файлов проекта Analysis Services
- •Запросы к многомерным базам данных
- •4.2.1. Ключевые понятия многомерных выражений
- •4.2.2. Кортежи
- •4.2.3. Наборы
- •4.2.4. Основные понятия о запросах многомерных выражений
- •4.2.5. Основные понятия о сценариях многомерных выражений
- •Использование служб Integration Services со службами Analysis Services
- •Возможности Integration Services для работы с olap
- •5.1.1. Слияние данных из разнородных хранилищ данных
- •5.1.2. Заполнение хранилищ данных и витрин данных
- •5.1.3. Очистка и стандартизация данных
- •Архитектура служб ssis
- •Пакет ssis
- •5.3.1. Элементы потока управления
- •5.3.1.1. Контейнеры
- •5.3.1.2. Задачи
- •5.3.2. Элементы потока данных
- •5.3.2.1. Источники
- •5.3.2.2. Преобразования
- •5.3.2.3. Целевые объекты (назначения)
- •5.3.2.4. Внешние метаданные
- •5.3.2.5. Входы и выходы
- •5.3.2.6. Пути
- •6.3.2.7. Настройка компонентов потока данных
- •Развертывание служб ssas
- •Планирование развертывания служб Analysis Services
- •6.1.1. Требования к ресурсам
- •6.1.2. Поддержание доступности
- •6.1.3. Инструментарий развертывания служб ssas
- •Настройка безопасности
- •6.2.1. Обеспечение безопасности служб ssas
- •6.2.2. Настройка безопасности служб ssas
- •6.2.3. Предоставление административного доступа
- •6.2.4. Разрешения, которые роль сервера служб ssas может предоставить роли базы данных
- •Требования к файловой системе
- •Требования к программному обеспечению
- •Требования к аппаратному обеспечению
- •Версии sql Server 2008
- •Сценарий цикла лабораторных работ
- •Практические задания
- •Контрольные вопросы
- •Определение представления источника данных в проекте служб Analysis Services Теоретическое введение Выбор метода определения соединения
- •Проектирование представлений источников данных
- •Практические задания
- •Создание проекта служб Analysis Services
- •Определение источника данных
- •Определение нового представления источника данных
- •Изменение имен таблиц по умолчанию
- •Контрольные вопросы
- •Определение и развертывание куба
- •Теоретическое введение
- •Проектирование измерений
- •Развертывание проекта
- •Практические задания Определение измерения
- •Определение куба и его свойств
- •Добавление атрибутов к измерениям
- •Просмотр свойств куба и измерений в конструкторе кубов
- •Развертывание проекта служб Analysis Services
- •Просмотр куба
- •Статистические функции
- •Форматы отображения
- •Определение именованных вычислений в представлении источника данных
- •Связи атрибутов
- •Создание пользовательских иерархий
- •Настройка уровня «All» для иерархий атрибутов
- •Практические задания Изменение мер
- •Изменение измерения «Клиент»
- •Переименование атрибутов
- •Создание иерархии
- •Добавление именованного вычисления
- •Использование именованных вычислений в качестве имен элементов
- •Определение папок отображения
- •Определение составных ключевых столбцов
- •Определение связей атрибутов
- •Развертывание изменений, обработка объектов и просмотр изменений
- •Изменение измерения «Продукт»
- •Добавление именованного вычисления
- •Изменение свойства NameColumn атрибута
- •Создание иерархии
- •Определение имен папок и имени элемента «All»
- •Определение связей атрибутов
- •Просмотр изменений в измерении «Продукт»
- •Изменение измерения «Дата»
- •Добавление именованного вычисления
- •Использование именованных вычислений в качестве имен элементов
- •Создание иерархии
- •Определение связей атрибутов
- •Создание уникальных имен для элементов измерения
- •Определение составного свойства KeyColumns и задание столбца имени
- •Развертывание и просмотр изменений
- •Изменение порядка сортировки путем изменения порядка элементов составных ключей
- •Просмотр развернутого куба
- •Контрольные вопросы
- •Определение расширенных свойств атрибутов и измерений
- •Теоретическое введение Определение иерархии типа «родители-потомки»
- •Группирование элементов атрибутов
- •Скрытие и отключение иерархий атрибутов
- •Сортировка элементов атрибута по вторичному атрибуту
- •Определение связей атрибутов в определенной пользователем иерархии
- •Определение свойств Unknown Member и Null Processing
- •Практические задания Загрузка и обработка улучшенной версии учебного проекта
- •Основные сведения об улучшениях проекта
- •Определение свойств родительского атрибута в иерархии «родители-потомки»
- •Просмотр измерения Employee
- •Изменение свойств родительского атрибута в измерении Employee
- •Просмотр измерения Employee с измененными атрибутами
- •Автоматическое группирование элементов атрибута
- •Группирование элементов иерархии атрибута в измерении Customer
- •Группирование элементов иерархии атрибута в измерении Employee
- •Просмотр измененных иерархий атрибутов
- •Изменение свойств группирования и просмотр результата внесенных изменений
- •Скрытие и отключение иерархий атрибутов
- •Определение свойств иерархии атрибута в измерении «Employee»
- •Настройка свойств иерархии атрибута в измерении «Customer»
- •Сортировка элементов атрибута по вторичному атрибуту
- •Определение связей атрибутов и порядка сортировки в измерении Date
- •Определение связей атрибутов и порядка сортировки в измерении «Customer»
- •Определение связей атрибутов в определенной пользователем иерархии
- •Определение связи атрибутов в иерархии Customer Geography
- •Определение связей атрибутов в иерархии Sales Territory
- •Определение связей атрибутов в иерархии Product Model Lines
- •Определение связей атрибутов в иерархии Fiscal Date
- •Определение связей атрибутов в иерархии Calendar Date
- •Определение связей атрибутов в иерархии Geography
- •Определение свойств Unknown Member и Null Processing
- •Просмотр свойств обработки ошибок и неизвестного элемента в измерении Product
- •Определение атрибутов из связанных по схеме «снежинка» таблиц и пользовательской иерархии Product Category
- •Просмотр пользовательских иерархий в измерении Product
- •Включение неизвестного элемента, определение связи атрибутов и указание свойства пользовательской обработки для значений null
- •Повторный просмотр измерения Product
- •Контрольные вопросы
- •Определение связей между измерениями и группами мер
- •Теоретическое введение Связи измерений
- •Связи обычного измерения
- •Связи ссылочного измерения
- •Связи измерения фактов
- •Связи измерений «многие ко многим»
- •Практические задания Определение ссылочной связи
- •Распределение показателя «Reseller Sales - Sales Amount» по измерению «Geography»
- •Определение атрибута промежуточного измерения и ссылочной связи измерений
- •Распределение показателя «Reseller Sales» по измерению «Geography»
- •Определение связи фактов
- •Определение измерения фактов «Заказы через Интернет»
- •Определение связи фактов для измерений фактов
- •Просмотр куба с использованием измерения фактов
- •Определение связи «многие ко многим»
- •Добавление необходимых таблиц к представлению источника данных
- •Определение промежуточной группы мер
- •Определение измерения «многие ко многим»
- •Определение связи «многие ко многим»
- •Просмотр куба и измерения «многие ко многим»
- •Определение степени гранулярности измерения в группе мер
- •Добавление таблиц и определение группы мер «Sales Quotas»
- •Просмотр мер в группе «Sales Quota» по датам
- •Определение свойств использования измерений для группы мер Sales Quotas
- •Определение связи между атрибутом «Calendar Quarter» и другими атрибутами измерения даты
- •Просмотр мер в группе «Sales Quota» по датам
- •Контрольные вопросы
- •Определение вычислений Теоретическое введение
- •Вычисляемые элементы
- •Именованные наборы
- •Команды сценариев
- •Определение вычислений
- •Практические задания
- •Определение вычисляемых элементов Определение статистических вычислений для физических мер
- •Создание вычислений коэффициента валовой прибыли
- •Создание вычислений «Проценты от общего»
- •Просмотр новых вычисляемых элементов
- •Определение именованных наборов
- •Определение именованного набора «Основные товары»
- •Определение именованного набора «Крупные торговые посредники»
- •Просмотр куба с использованием новых именованных наборов
- •Определение назначений с указанием области с помощью команд сценариев
- •Просмотр распределения квот на количество продаж по датам и сотрудникам
- •Определение области вычисления квоты суммы продаж в финансовом году 2005
- •Определение и проверка нового вычисления квоты продаж для финансового года 2005
- •Распределение квоты суммы продаж по полугодиям и кварталам финансового года 2005
- •Распределение квот продаж по месяцам
- •Контрольные вопросы
- •Определение ключевых индикаторов производительности
- •Теоретическое введение Понятие kpi
- •Общие термины ключевых индикаторов производительности
- •Родительские ключевые показатели производительности
- •Извлечение и отображение ключевых индикаторов производительности
- •Определение kpi
- •Практические задания
- •Определение ключевого индикатора производительности «Доход от продаж через торгового посредника»
- •Просмотр куба с использованием ключевого индикатора производительности «Доход от продаж через торгового посредника»
- •Определение ключевого индикатора производительности «Итоговый коэффициент валовой прибыли»
- •Просмотр куба с использованием ключевого индикатора производительности «Итоговый коэффициент валовой прибыли»
- •Контрольные вопросы
- •Определение перспектив куба и переводов метаданных.
- •Теоретическое введение Перспективы
- •Переводы
- •Практические задания Определение и поиск перспектив
- •Определение перспективы «Продажи через Интернет»
- •Определение перспективы «Продажи через посредников»
- •Определение перспективы «Сводки о продажах»
- •Просмотр куба в каждой из перспектив
- •Определение и просмотр переводов Задание переводов для метаданных измерения «Date»
- •Указание перевода для метаданных куба «Analysis Services Tutorial»
- •Просмотр куба с использованием переводов
- •Настройка безопасности служб ssas
- •Предоставление административного доступа
- •Разрешения, которые роль сервера служб ssas может предоставить роли базы данных
- •Практические задания
- •Определение роли «Обработка объектов базы данных»
- •Контрольные вопросы
- •Заполнение куба при помощи Integration Services
- •Теоретическое введение
- •Практические задания
- •Формат данных источника
- •Формат таблицы-назначения
- •Сопоставление данных источника и назначения
- •Создание нового проекта служб Integration Services
- •Установка свойств проекта, зависящих от языка и региональных стандартов
- •Добавление диспетчера соединений с плоскими файлами
- •Добавление и настройка диспетчера соединений ole db
- •Добавление задачи потока данных в пакет
- •Добавление и настройка источника плоских файлов
- •Добавление и настройка преобразований «Уточняющий запрос»
- •Добавление и настройка преобразования «Уточняющий запрос CurrencyId»
- •Добавление и настройка преобразования «Уточняющий запрос DataId»
- •Добавление и настройка образца назначения ole db
- •Добавление заметки к потоку данных
- •Выполнение пакета
- •Контрольные вопросы
- •Литература
Планирование и архитектура ssas
Логическая архитектура
Службы Microsoft SQL Server Analysis Services используют как серверные, так и клиентские компоненты для предоставления приложениям бизнес-аналитики функций оперативной аналитической обработки (OLAP) и интеллектуального анализа данных.
Серверный компонент служб SSAS реализован в виде службы Microsoft Windows. Службы SQL Server Analysis Services поддерживают работу нескольких экземпляров на одном компьютере, при этом каждый экземпляр служб SSAS реализован как отдельный экземпляр службы Windows.
Клиенты обмениваются данными со службами SSAS с помощью общедоступного стандарта XML для аналитики (XMLA), который представляет собой протокол на базе SOAP для выполнения команд и получения ответов и предоставляется в виде веб-службы. Поэтому каждый экземпляр SSAS является Web-сервисом.
Клиентские модели объектов также предоставляются через XML для аналитики, и доступ к ним производится через управляемый поставщик, например ADOMD.NET, или через собственный поставщик OLE DB.
Также службы SSAS поддерживают ядро локального куба, которое позволяет приложениям на отключенных клиентах просматривать локально хранимые многомерные данные.
Экземпляр служб SSAS может содержать несколько баз данных, а в базе данных могут одновременно присутствовать объекты OLAP и объекты интеллектуального анализа данных. Приложения подключаются к указанному экземпляру служб SSAS и к указанной базе данных. На серверном компьютере может эксплуатироваться несколько экземпляров служб SSAS. Экземпляры служб SSAS именуются как «<ИмяСервера>\<ИмяЭкземпляра>». На Рисунок 7 показаны все упомянутые связи между объектами служб SSAS.
Рисунок 22. Связи между объектами служб SSAS
Основные классы представляют собой минимальный набор объектов, требуемый для формирования куба. Этот минимальный набор объектов включает измерение, группу мер и секцию. Определение статистической обработки является необязательным.
Измерение описывает элемент данных, по которому производится анализ. Например, распространенным элементом анализа является время. Измерения создаются на основе атрибутов и иерархий.
Атрибут – это полная коллекция элементов одного типа. Например, все дни недели будут атрибутом измерения «Время».
Иерархии формируются с использованием упорядоченного набора атрибутов, такого, что каждый атрибут соответствует одному из уровней в иерархии.
Кубы создаются на основе измерений и групп мер. Начиная с Analysis Services 2005, поддерживается множество фактов в одном кубе. Меры из таблицы фактов группируются в группу мер. Куб может иметь несколько групп мер.
Измерения в коллекции измерений куба принадлежат к коллекции измерений базы данных.
Группы мер — это коллекции мер, которые имеют одно и то же представление источника данных и одно и то же подмножество измерений в кубе. Группа мер имеет одну или несколько секций, предназначенных для управления физическими данными. Группа мер может иметь применяемую по умолчанию статистическую схему.
Статистическая схема по умолчанию может использоваться во всех секциях в группе мер; кроме того, каждая секция может иметь собственную статистическую схему.
Каждый экземпляр служб SSAS рассматривается как отдельный объект сервера. Каждый отдельный экземпляр подключается к объекту Server с помощью отдельного соединения. Каждый объект сервера содержит один или несколько источников данных, представление источника данных и объекты базы данных, а также сборки и роли безопасности.
Каждый объект базы данных содержит несколько объектов измерения. Каждый объект измерения содержит один или несколько атрибутов, которые организованы в виде иерархий.
Каждый объект базы данных содержит один или несколько объектов куба. Куб задается его мерами и измерениями. Меры и измерения куба выводятся из таблиц и представлений в представлении источника данных, на котором основан куб или который создан из определений мер и измерений.
Пример
Куб «Импорт» (Рисунок 23) содержит две меры («Пакеты» и «Последняя дата») и три связанных измерения («Маршрут», «Источник» и «Время»).
Рисунок 23. Куб "Импорт"
По осям куба отложены элементы измерений. Примеры элементов — «Наземный» (элемент измерения «Маршрут»), «Африка» (элемент измерения «Источник») и «1-й квартал» (элемент измерения «Время»).
Значение в ячейках куба представляют две меры — «Пакеты» и «Последняя дата». Мера «Пакеты» представляет число импортированных посылок; для статистической обработки фактов используется функция Sum. Мера «Последняя дата» представляет собой дату получения; для статистической обработки используется функция Max.
Измерение «Маршрут» представляет пути, которыми импортируемый товар достигает своего назначения. В число элементов этого измерения входят «наземный», «не наземный», «воздушный», «морской», «дорожный» и «железнодорожный». Измерение «Источник» представляет место производства импортируемого товара, например Азию или Африку. Измерение «Время» представляет кварталы и полугодия.
Пользователи куба могут определять значения его мер для каждого элемента в каждом измерении независимо от уровня элемента в измерении, поскольку службы SSAS вычисляют значения верхних уровней по мере необходимости.
Например, значения меры на Рисунок 23 могут быть вычислены в соответствии с обычной календарной иерархией с использованием иерархии «Календарное время» в измерении «Время», как показано на Рисунок 24.
Рисунок 24. Значения мер в соответствии с иерархией "Календарное время"
Меры, атрибуты и иерархии в примере куба выводятся из следующих столбцов таблиц фактов и измерений куба (Таблица 3).
Таблица 3. Соответствие элементов куба таблицам фактов и измерений
Мера или атрибут (уровень) |
Элементы |
Исходная таблица |
Исходный столбец |
Образец значения столбца |
Мера «Посылки» |
Неприменимо |
ImportsFactTable |
Посылки |
12 |
Мера «Последняя дата» |
Неприменимо |
ImportsFactTable |
Последняя дата |
03-май-99 |
Уровень категории «Маршрут» в измерении «Маршрут» |
не наземный, наземный |
RouteDimensionTable |
Route_Category |
Не наземный |
Атрибут «Маршрут» в измерении «Маршрут» |
воздушный, морской, дорожный, железнодорожный |
RouteDimensionTable |
Маршрут |
Морской |
Атрибут «Полушарие» в измерении «Источник» |
Восточное полушарие, западное полушарие |
SourceDimensionTable |
Полушарие |
Восточное полушарие |
Атрибут «Континент» в измерении «Источник» |
Африка, Азия, Австралия, Европа, Северная Америка, Южная Америка |
SourceDimensionTable |
Континент |
Европа |
Атрибут «Полугодие» в измерении «Время» |
Первое полугодие, второе полугодие |
TimeDimensionTable |
Полугодие |
Второе полугодие |
Атрибут «Квартал» в измерении «Время» |
Первый квартал, второй квартал, третий квартал, четвертый квартал |
TimeDimensionTable |
Квартал |
Третий квартал |
Приведенный пример представляет простой куб, в том смысле, что это куб с единственной группой мер, а все таблицы измерений соединены с таблицей фактов по схеме «звезда». Другая схема — это схема «снежинка», в которой одна или несколько таблиц измерений присоединяются к другой таблице измерения, а не напрямую к таблице фактов.
В приведенном здесь примере содержится только одна таблица фактов. Когда в кубе есть несколько таблиц фактов, меры каждой из них организуются в группы мер, причем группа мер связана с соответствующим набором измерений согласно заданным связям измерений.
