
- •Понятие хранилища данных
- •Физические и виртуальные хранилища данных
- •Проблематика построения хранилищ данных
- •Витрины данных
- •Понятие и модель данных 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 состоят из серверного и клиентского компонентов.
Серверный компонент служб SSAS реализован в виде службы Microsoft Windows. Службы SSAS поддерживают работу нескольких экземпляров на одном компьютере, при этом каждый экземпляр служб SSAS реализован как отдельный экземпляр службы Windows.
Клиенты обмениваются данными со службами SSAS с помощью общедоступного стандарта XML для аналитики (XMLA), который представляет собой протокол на базе SOAP для выполнения команд и получения ответов и предоставляется в виде веб-службы. Клиентские модели объектов также предоставляются через XML для аналитики, и доступ к ним производится через управляемый поставщик, например ADOMD.NET, или через собственный поставщик OLE DB.
Команды запросов могут быть выражены на следующих языках:
Расширения интеллектуального анализа данных (DMX) — стандартный язык запросов, ориентированный на интеллектуальный анализ данных.
Язык сценариев служб Analysis Services (ASSL) также может использоваться для управления объектами базы данных служб SSAS.
Экземпляр служб SSAS запускается, как изолированная служба, взаимодействие с этой службой происходит через XMLA с использованием протокола HTTP или TCP. Объекты AMO — это прослойка между приложением пользователя и экземпляром служб SSAS. Они предоставляют доступ к административным объектам служб SSAS. Объект AMO — это библиотека класса, которая принимает команды от клиентского приложения и преобразует их в XMLA-сообщения для экземпляра служб SSAS. Объекты AMO представляют объекты экземпляра служб SSAS, как классы для приложения конечного пользователя, с элементами-методами, запускающими команды и элементами-свойствами, хранящими данные объектов служб SSAS.
На Рисунок 25 отображена архитектура компонентов служб SSAS, включая все главные элементы, запущенные на экземпляре служб SSAS, и все пользовательские компоненты, взаимодействующие с этим экземпляром. Как показано на рисунке, единственным путем доступа к экземпляру является прослушиватель XML для аналитики или использование протокола HTTP или TCP.
Рисунок 25. Архитектура компонентов служб SSAS
Архитектура программирования ssas
Прикладная модель определяет формат данных, и котором они передаются аналитическим приложениям. Основным пользователем прикладной модели данных является клиентское приложение, которое представляет модель пользователю. Прикладная модель создается с помощью Языка Многомерных Выражений (Multidimensional Expressions, MDX), который служит как для представления запросов к многомерной базе данных, так и для описания модели формирования данных внутри нее при помощи MDX-сценариев (MDX Scripts).
3.3.1. Объекты amo
Объекты AMO являются полной коллекцией классов управления для служб SSAS, доступных для использования программным способом в управляемой среде, через пространство имен Microsoft.AnalysisServices. Эти классы включены в файл AnalysisServices.dll, который обычно находится в каталоге установки SQL Server, то есть в папке \100\SDK\Assemblies\. Для работы с классами AMO следует указать в проекте Visual Studio ссылку на эту сборку.
Объекты AMO позволяют создавать, изменять и удалять такие объекты, как кубы, измерения, структуры интеллектуального анализа, а также базы данных служб SSAS. Приложение, работающее на платформе .NET Framework, может выполнять действия со всеми этими объектами. Кроме этого, существует также возможность обновления и обработки данных, хранящихся в базах данных служб SSAS.
Объекты AMO не позволяют выполнять запросы к данным. Для запроса данных предназначены объекты, описанные в разделе ADOMD.NET.
Библиотека классов AMO содержит иерархию классов, где для использования в коде сначала создаются экземпляры одних классов, а затем других. Существуют также дополнительные классы, экземпляры которых могут быть в любой момент созданы в коде, однако сначала, вероятно, потребуется создать экземпляры одного или нескольких классов иерархии.
На Рисунок 26 приведена иерархия классов AMO высокого уровня, содержащая основные классы.
Рисунок 26. Иерархия классов AMO высокого уровня
Объекты AMO особенно полезны для автоматизации часто выполняемых задач (например, для создания новых секций в группе мер при появлении новых данных в таблице фактов или для повторного обучения модели интеллектуального анализа при появлении новых данных). Обычно эти задачи, которые создают новые объекты, выполняются ежемесячно, еженедельно или ежеквартально, а приложение может легко именовать эти новые объекты на основе новых данных.
Администраторы служб SSAS могут использовать объекты AMO, чтобы автоматизировать обработку баз данных служб SSAS. Проектирование и развертывание баз данных служб SSAS следует производить в среде BI Dev Studio.
Разработчикам объекты AMO дают возможность создавать интерфейсы администрирования для определенных наборов пользователей. Эти интерфейсы позволяют ограничивать доступ к объектам служб SSAS и разрешать пользователям выполнять только определенные задачи. На основе объектов AMO можно, например, создать приложение для создания резервных копий, которое позволит пользователям видеть все объекты баз данных, выбрать любую из баз данных и создать ее резервную копию на любом устройстве из указанного набора.
Разработчики могут также внедрять в приложения логику служб SSAS. Это возможно благодаря созданию кубов, измерений, структур и моделей интеллектуального анализа на основе пользовательского ввода и других факторов.
Проектирование, развертывание и обслуживание большинства наиболее часто выполняемых задач лучше всего выполняется при помощи приложений на основе служб Integration Services, написанных на любом языке. А для тех повторяющихся задач, автоматизировать которые при помощи служб Integration Services невозможно, можно использовать объекты AMO. Объекты AMO также полезны при разработке специализированных приложений для бизнес-аналитики на основе служб SSAS.