Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диплом(в)-1.docx
Скачиваний:
59
Добавлен:
09.02.2015
Размер:
2.4 Mб
Скачать

5 Разработка программного обеспечения web-приложения для аналитической обработки данных

5.1 Реализация подключения к источнику данных

Разработка программного обеспечения в дипломном проекте имеет следующие основные направления:

  1. Cоздание пользовательского OLAP клиента для доступа к SQL серверу при использовании технологии ADO MD на платформе .NET.

  2. Формирование запросов к OLAP кубам на языке MDX

Остановим свое внимание на решении первой задачи.

Общая структура доступа к данным на основе модели «клиент-сервер» изображена на рисунке 5.1.1.

Рисунок 5.1.1 – Структура доступа к данным на основе модели «клиент-сервер»

Для подключения к SQL серверу используется объект AdomdConnection

Объект AdomdConnection используется в ADOMD.NET для установления соединений с источниками аналитических данных, например базами данных служб Analysis Services. Объект AdomdConnection можно использовать для выполнения команд, получения данных и метаданных из источника аналитических данных.

Конструкторы объекта AdomdConnection:

  • AdomdConnection(String) - инициализация нового экземпляра AdomdConnection класса, используя указанную строку соединения

  • AdomdConnection(AdomdConnection) - инициализация нового экземпляра AdomdConnection класса, используя значения из указанного AdomdConnection класса

Свойства объекта AdomdConnection:

  • ConnectionString - задает строку, которая используется для открытия источника аналитических данных

  • Cubes - представляет коллекцию кубов источника аналитических данных

  • SessionID - идентификатор сессии

  • State – текущее состояние соединения

Методы объекта AdomdConnection:

  • Open(String) – открытие соединения с аналитическим источником данных

  • CreateCommand - создает и возвращает AdomdCommand, который связан с AdomdConnection

  • GetType – возвращает объект Type для текущего экземпляра

  • Close(Boolean) - закрывает подключение к базе данных

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

Рассмотрим основные свойства объектов CubeDef:

  • Caption –заголовок CubeDef

  • Description – описание

  • Dimensions - экземпляр DimensionCollection класса, который содержит измерения CubeDef класса

  • Measures - экземпляр MeasureCollection класс, который содержит меры по CubeDef

5.2 Реализация получения данных из источника аналитических данных

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

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

Платой за оптимизированную производительность является то, что объект AdomdDataReader предоставляет меньше сведений об извечных данных, чем другие методы получения данных. Объект AdomdDataReader не поддерживает большие модели объектов для представления данных или метаданных, кроме того, эта модель объекта также не позволяет использовать более сложные аналитические функции, как, например обратная запись в ячейку. Однако объект AdomdDataReader все же предоставляет набор строго типизированных методов для извлечения данных набора ячеек, а также метод для извлечения метаданных набора ячеек в табличном формате. Кроме того, объект AdomdDataReader реализует интерфейс IDbDataReader для поддержки привязки данных и извлечения данных при помощи метода SelectCommand из пространства имен System.Data библиотеки классов платформы Microsoft .NET Framework.

Для формирования запросов к базе данных используется язык MDX. Назначение языка MDX (Multidimensional Expressions) — предоставить в распоряжение разработчиков средство для более простого и эффективного доступа к многомерным структурам данных. В Microsoft SQL Server 2000 Analysis Services язык MDX используется для формирования запросов и описания алгоритмов получения вычисляемых значений.

В языке MDX выражение SELECT используется для задания набора данных, содержащего подмножество многомерных данных.

SELECT-запрос содержит следующую информацию:

  • число осей (в одном запросе можно указать до 128 осей)

  • список членов измерения, которые должны быть включены для каждой оси;

  • имя куба, к которому производится запрос;

  • список членов среза.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]