Волгоградский государственный университет
Опубликован: 15.03.2010 | Доступ: свободный | Студентов: 2368 / 231 | Оценка: 4.39 / 4.28 | Длительность: 18:09:00
Лекция 3:

Планирование и архитектура SSAS

< Лекция 2 || Лекция 3: 12 || Лекция 4 >

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

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

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

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

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

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

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

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

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

Архитектура программирования SSAS

Прикладная модель определяет формат данных, и в котором они передаются аналитическим приложениям. Основным пользователем прикладной модели данных является клиентское приложение, которое представляет модель пользователю. Прикладная модель создается с помощью Языка Многомерных Выражений (Multidimensional Expressions, MDX), который служит как для представления запросов к многомерной базе данных, так и для описания модели формирования данных внутри нее при помощи MDX -сценариев (MDX Scripts).

Объекты AMO

Объекты AMO являются полной коллекцией классов управления для служб SSAS, доступных для использования программным способом в управляемой среде, через пространство имен Microsoft.AnalysisServices. Эти классы включены в файл AnalysisServices.dll, который обычно находится в каталоге установки SQL Server, то есть в папке \100\SDK\Assemblies\. Для работы с классами AMO следует указать в проекте Visual Studio ссылку на эту сборку.

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

Объекты AMO не позволяют выполнять запросы к данным. Для запроса данных предназначены объекты, описанные в разделе http://www.ADOMD.NET.

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

На рисунок 4.5 приведена иерархия классов AMO высокого уровня, содержащая основные классы.

 Иерархия классов AMO высокого уровня

Рис. 4.5. Иерархия классов AMO высокого уровня

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

Администраторы служб SSAS могут использовать объекты AMO, чтобы автоматизировать обработку баз данных служб SSAS. Проектирование и развертывание баз данных служб SSAS следует производить в среде BI Dev Studio.

Разработчикам объекты AMO дают возможность создавать интерфейсы администрирования для определенных наборов пользователей. Эти интерфейсы позволяют ограничивать доступ к объектам служб SSAS и разрешать пользователям выполнять только определенные задачи. На основе объектов AMO можно, например, создать приложение для создания резервных копий, которое позволит пользователям видеть все объекты баз данных, выбрать любую из баз данных и создать ее резервную копию на любом устройстве из указанного набора.

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

Проектирование, развертывание и обслуживание большинства наиболее часто выполняемых задач лучше всего выполняется при помощи приложений на основе служб Integration Services, написанных на любом языке. А для тех повторяющихся задач, автоматизировать которые при помощи служб Integration Services невозможно, можно использовать объекты AMO. Объекты AMO также полезны при разработке специализированных приложений для бизнес-аналитики на основе служб SSAS.

Язык ASSL

Клиентские приложения служб SSAS, в том числе SQL Server Management Studio и BI Dev Studio, поддерживают связь со службами SSAS с помощью сообщений SOAP. Язык сценариев служб Analysis Services (язык ASSL), который является разновидностью XML, используемой для этих сообщений, состоит из двух частей:

  1. языка описания данных DDL, или язык определения объектов, который определяет и описывает экземпляр служб SSAS, а также базы данных и объекты баз данных, находящихся в этом экземпляре;
  2. командного языка, который отправляет команды-действия, например Create, Alter или Process, экземпляру служб SSAS.

В службах SSAS язык определения данных (Data Definition Language, DDL) языка ASSL определяет структуру объектов служб SSAS (например, кубов, измерений и моделей интеллектуального анализа данных), а также привязку объектов служб SSAS к источникам данных. DDL также сохраняет определение объектов служб SSAS. Приложения служб SSAS используют DDL для создания, изменения, развертывания и описания объектов SSAS.

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

Администратор БД использует среду SQL Server Management Studio для непосредственного редактирования XML в качестве средства создания и изменения объектов служб SSAS так же, как он использует SQL Server DDL, чтобы создавать и изменять объекты Microsoft SQL Server.

Поставщик данных ADOMD.NET

Как и в случае с поставщиками данных платформы Microsoft .NET Framework, такими как http://www.ADO.NET,http://www. ADOMD.NET выступает в качестве моста между приложением и источником данных. Однакоhttp://www. ADOMD.NET отличается от остальных поставщиков данных платформы .NET Framework тем, что он работает с аналитическими данными. Чтобы работать с аналитическими данными, компонент http://www.ADOMD.NET обладает функциями, которые значительно отличаются от функций других поставщиков данных платформы .NET Framework. http://www.ADOMD.NET позволяет получать не только данные, но и метаданные, а также изменять структуру источника аналитических данных.

Получив метаданные при помощи наборов строк схемы или модели объекта, приложения могут узнать больше о тех данных, которые можно извлечь из источника данных. Получить можно такие сведения, как типы доступных ключевых индикаторов производительности, измерения в кубе и параметры, которые требуются модели интеллектуального анализа данных. Наибольшее значение метаданные имеют для динамических приложений, которым для определения типа, глубины и области действия получаемых данных требуется ввод пользователя. Среди таких приложений Query Analyzer, Microsoft Excel и другие средства запросов. Метаданные менее значимы для статических приложений, выполняющих набор стандартных действий.

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

Компонент http://www.ADOMD.NET также можно использовать, чтобы фактически изменять структуру хранилища аналитических данных. И хотя обычно это делается с помощью модели объектов AMO, компонент http://www.ADOMD.NET можно использовать для отправки команд на ASSL, чтобы создавать, изменять или удалять объекты на сервере.

< Лекция 2 || Лекция 3: 12 || Лекция 4 >
Ксения Кожанова
Ксения Кожанова

Здравствуйте! Я прошла 1 лекцию и 1 самостоятельную работу. В конце контрольные вопросы, их надо для как-то ответить или куда-то отослать?

Андрей Павлов
Андрей Павлов