Масштабируемость и производительность

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

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

Кубы служб SSAS — это многомерные структуры, обеспечивающие высокоскоростной доступ к большим объемам предварительно объединенных данных, и позволяющие конечным пользователям получать интересующие их бизнес-данные в реальном времени. В службах SSAS хранятся бизнес-данные в формате MOLAP, предоставляющем возможность высокой степени оптимизации и сжатия . Присущая этому формату гибкость дает также возможность частично или полностью хранить данные в реляционной базе данных в режиме реляционного OLAP (ROLAP) или в смешанном режиме, называемом гибридным OLAP (HOLAP). Режим MOLAP обеспечивает значительно более высокую производительность, чем режимы ROLAP и HOLAP.

Представление источника данных

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

Интеграция с Microsoft Office System 2007

BI-платформа Microsoft предоставляет возможности интеграции с продуктами семейства Microsoft Office System 2007, в частности:

  • Microsoft Office Excel 2007 дает возможность просматривать данные, хранящиеся в OLAP-кубах SSAS путем построения динамических представлений Microsoft PivotTable, что не требует установки дополнительного программного обеспечения;
  • Microsoft Office Word 2007, как и Microsoft Office Excel 2007, позволяют просматривать отчеты, генерируемые при помощи Reporting Services;
  • Microsoft Office Visio 2007 позволяет визуализировать деревья решений, деревья зависимостей, кластерные диаграммы и другие модели технологии data mining;
  • Microsoft Office SharePoint Server позволяет создать единый пользовательский интерфейс для просмотра и управления отчетами, генерируемыми при помощи Reporting Services.

Локализация решения посредством использования переводов

Часто возникает необходимость разработки многоязыковых решений. Как правило, сами данные едины для всего мира, но метаданные — куб, меры, наименования и уровни измерений, ключевые показатели эффективности (KPI) будут своими для каждого используемого языка. Переводы позволяют задавать различные значения метаданных для разных языков и приспосабливать решения для работы в международном контексте. Финансовую информацию также необходимо локализировать для представления результатов в надлежащей валюте. Предусмотренные в службах SSAS возможности перевода и автоматического конвертирования валют позволяют отображать локализованные данные анализа на родном языке пользователей.

Инструменты управления службой SSAS

SQL Server 2008 представляет следующий набор инструментов для разработки приложений и управления серверами:

BI Dev Studio

SQL Server Business Intelligence Development Studio (BI Dev Studio) – инструмент, предназначенный для разработки полноценных систем бизнес-анализа на основе Analysis Services, Reporting Services и Integration Services (Рисунок 10).

Масштабируемость и производительность - student2.ru

Рисунок 19. BI Dev Studio

BI Dev Studio интегрируется в оболочку Visual Studio, что позволяет создавать дополнительные типы проектов для SSAS (Рисунок 11);

Масштабируемость и производительность - student2.ru

Рисунок 20. Типы проектов для Analysis Services

При помощи среды BI Dev Studio можно создавать проекты служб SSAS, содержащие определения объектов (кубов, измерений и т.д.) служб SSAS, которые хранятся в XML-файлах, содержащих элементы языка сценариев служб SSAS (ASSL). Эти проекты содержатся в решениях, где также содержатся проекты из других компонентов SQL Server, включая службы SQL Server Integration Services и SQL Server Reporting Services.

В среде BI DevStudio можно разрабатывать проекты служб SSAS как часть решения, которое не зависит от какого-либо конкретного экземпляра служб SSAS. Во время разработки объекты могут быть развернуты на экземпляре на тестовом сервере с целью проверки, после чего этот же проект служб SSAS может быть использован для развертывания объектов в экземплярах на одном или нескольких промежуточных или рабочих серверах.

Средой BI DevStudio можно также воспользоваться, чтобы напрямую подсоединиться к существующему экземпляру служб SSAS для создания и изменения объектов служб SSAS, без работы с проектом и без хранения определений объекта в XML-файлах.

В BI Dev Studio входит средство оповещения Best Practice Design Alerts , автоматически информирующее о возможных недочетах в проекте на ранних стадиях процесса разработки, и сокращающее потери времени, вызванные проектными ошибками, что существенно ускоряет разработку.

SSMS

SQL Server Management Studio (SSMS) – инструмент, предназначенный для администраторов баз данных, позволяющий управлять многомерными объектами, созданными разработчиками баз данных (Рисунок 12). SSMS позволяет администрировать Analysis Services, SQL Server, Reporting Services и Integration Services в единой консоли, которая объединяет функциональность управления, редактирования запросов и настройки производительности.

Масштабируемость и производительность - student2.ru

Рисунок 21. SSMS

При помощи среды SQL Server Management Studio можно управлять объектами служб Analysis Services (выполнять резервное копирование, обработку и т. д.), а также создавать новые объекты непосредственно в существующем экземпляре служб Analysis Services с помощью сценариев XML для аналитики. Среда SQL Server Management Studio представляет проект сценариев сервера анализа данных, в котором можно разрабатывать и сохранять сценарии, написанные на языках многомерных выражений, расширений интеллектуального анализа данных и XML для аналитики (XMLA). Обычно проекты сценариев сервера анализа данных используются для выполнения задач по управлению или для повторного создания объектов, например: баз данных или кубов, в экземплярах служб Analysis Services.

Планирование и архитектура 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.

Масштабируемость и производительность - student2.ru

Рисунок 22. Связи между объектами служб SSAS

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

Измерение описывает элемент данных, по которому производится анализ. Например, распространенным элементом анализа является время. Измерения создаются на основе атрибутов и иерархий.

Атрибут – это полная коллекция элементов одного типа. Например, все дни недели будут атрибутом измерения «Время».

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

Кубы создаются на основе измерений и групп мер. Начиная с Analysis Services 2005, поддерживается множество фактов в одном кубе. Меры из таблицы фактов группируются в группу мер. Куб может иметь несколько групп мер.

Измерения в коллекции измерений куба принадлежат к коллекции измерений базы данных.

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

Статистическая схема по умолчанию может использоваться во всех секциях в группе мер; кроме того, каждая секция может иметь собственную статистическую схему.

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

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

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

Пример

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

Масштабируемость и производительность - student2.ru

Рисунок 23. Куб "Импорт"

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

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

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

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

Например, значения меры на Рисунок 14 могут быть вычислены в соответствии с обычной календарной иерархией с использованием иерархии «Календарное время» в измерении «Время», как показано на Рисунок 15.

Масштабируемость и производительность - student2.ru

Рисунок 24. Значения мер в соответствии с иерархией "Календарное время"

Меры, атрибуты и иерархии в примере куба выводятся из следующих столбцов таблиц фактов и измерений куба (Таблица 1).

Таблица 3. Соответствие элементов куба таблицам фактов и измерений

Мера или атрибут (уровень) Элементы Исходная таблица Исходный столбец Образец значения столбца
Мера «Посылки» Неприменимо ImportsFactTable Посылки
Мера «Последняя дата» Неприменимо ImportsFactTable Последняя дата 03-май-99
Уровень категории «Маршрут» в измерении «Маршрут» не наземный, наземный RouteDimensionTable Route_Category Не наземный
Атрибут «Маршрут» в измерении «Маршрут» воздушный, морской, дорожный, железнодорожный RouteDimensionTable Маршрут Морской
Атрибут «Полушарие» в измерении «Источник» Восточное полушарие, западное полушарие SourceDimensionTable Полушарие Восточное полушарие
Атрибут «Континент» в измерении «Источник» Африка, Азия, Австралия, Европа, Северная Америка, Южная Америка SourceDimensionTable Континент Европа
Атрибут «Полугодие» в измерении «Время» Первое полугодие, второе полугодие TimeDimensionTable Полугодие Второе полугодие
Атрибут «Квартал» в измерении «Время» Первый квартал, второй квартал, третий квартал, четвертый квартал TimeDimensionTable Квартал Третий квартал

Приведенный пример представляет простой куб, в том смысле, что это куб с единственной группой мер, а все таблицы измерений соединены с таблицей фактов по схеме «звезда». Другая схема — это схема «снежинка», в которой одна или несколько таблиц измерений присоединяются к другой таблице измерения, а не напрямую к таблице фактов.

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

Физическая архитектура

С точки зрения физической архитектуры службы SSAS состоят из серверного и клиентского компонентов.

  1. Серверный компонент служб SSAS реализован в виде службы Microsoft Windows. Службы SSAS поддерживают работу нескольких экземпляров на одном компьютере, при этом каждый экземпляр служб SSAS реализован как отдельный экземпляр службы Windows.
  2. Клиенты обмениваются данными со службами SSAS с помощью общедоступного стандарта XML для аналитики (XMLA), который представляет собой протокол на базе SOAP для выполнения команд и получения ответов и предоставляется в виде веб-службы. Клиентские модели объектов также предоставляются через XML для аналитики, и доступ к ним производится через управляемый поставщик, например ADOMD.NET, или через собственный поставщик OLE DB.

Команды запросов могут быть выражены на следующих языках:

  1. Расширения интеллектуального анализа данных (DMX) — стандартный язык запросов, ориентированный на интеллектуальный анализ данных.
  2. Язык сценариев служб Analysis Services (ASSL) также может использоваться для управления объектами базы данных служб SSAS.

Экземпляр служб SSAS запускается, как изолированная служба, взаимодействие с этой службой происходит через XMLA с использованием протокола HTTP или TCP. Объекты AMO — это прослойка между приложением пользователя и экземпляром служб SSAS. Они предоставляют доступ к административным объектам служб SSAS. Объект AMO — это библиотека класса, которая принимает команды от клиентского приложения и преобразует их в XMLA-сообщения для экземпляра служб SSAS. Объекты AMO представляют объекты экземпляра служб SSAS, как классы для приложения конечного пользователя, с элементами-методами, запускающими команды и элементами-свойствами, хранящими данные объектов служб SSAS.

На Рисунок 25 отображена архитектура компонентов служб SSAS, включая все главные элементы, запущенные на экземпляре служб SSAS, и все пользовательские компоненты, взаимодействующие с этим экземпляром. Как показано на рисунке, единственным путем доступа к экземпляру является прослушиватель XML для аналитики или использование протокола HTTP или TCP.

Масштабируемость и производительность - student2.ru

Рисунок 25. Архитектура компонентов служб SSAS

Наши рекомендации