Автор работы: Пользователь скрыл имя, 02 Апреля 2013 в 09:17, дипломная работа
Ключевую роль в управлении компанией в целом и ее отдельными подразделениями играет информация. Однако, данные, которые доступны менеджерам и аналитикам непосредственно из корпоративных информационных систем, не унифицированы, разрозненны и в общем случае не подготовлены для анализа. Системы Business Intelligence - это как раз тот класс информационных систем, который позволяет превратить сырые данные в полезную для бизнеса информацию и знания, используемые в управлении, на основе которых можно принимать решения.
ПЕРЕЧЕНЬ УСЛОВНЫХ ОБОЗНАЧЕНИЙ И ТЕРМИНОВ 4
ВВЕДЕНИЕ 5
ЦЕЛИ И ЗАДАЧИ РАБОТЫ 7
ГЛАВА 1. ОСНОВНЫЕ ПОЛОЖЕНИЯ ТЕХНОЛОГИЙ БИЗНЕС ИНТЕЛЛЕКТА 8
1.1. Системы бизнес интеллекта 8
1.2. Внутренние интерфейсы Microsoft SQL Server 2005 10
1.3. Средства трансформации данных 11
1.4. Средства анализа данных 13
1.5. Средства визуализации данных 14
Выводы 14
ГЛАВА 2. ТЕХНОЛОГИИ ИНТЕРАКТИВНЫХ ИНФОРМАЦИОННЫХ ПАНЕЛЕЙ 16
2.1. Microsoft Reporting Services 16
2.2. Crystal Reports - технология генерации отчетности 22
2.3. Crystal Reports for Microsoft Visual Studio .NET 29
Выводы 32
ГЛАВА 3. МОДЕЛЬ СИСТЕМЫ ДЛЯ РАБОТЫ С ПЕРСОНАЛОМ ВУЗА 33
3.1. Контингент сотрудников и студентов в информационной картине факультета 33
Выводы 38
ГЛАВА 4. РЕАЛИЗАЦИЯ КОМПОНЕНТОВ СИСТЕМЫ БИЗНЕС ИНТЕЛЛЕКТА 40
4.1. Требования к системе Бизнес Интеллекта. Общая схема системы 40
4.2. Первичные данные системы Бизнес Интеллекта 41
4.3. Реализация модуля очистки, загрузки и обновления данных 44
4.4. Формирование многомерного хранилища данных 52
4.5. Модуль формирования отчетности 60
4.6. Модуль доступа к выходным документам 69
Выводы 69
ЗАКЛЮЧЕНИЕ 70
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 71
ПРИЛОЖЕНИЕ 1. «Структура хранилища данных» 72
ПРИЛОЖЕНИЕ 2. «Приложение работы с данными «Профсоюзный комитет» 76
ПРИЛОЖЕНИЕ 3. «Измерения проекта» 78
ПРИЛОЖЕНИЕ 4. «Структура кубов системы» 81
ПРИЛОЖЕНИЕ 5. «WEB-приложение» 87
ПРИЛОЖЕНИЕ 6. «Примеры выходных документов» 89
Но даже при наличии иерархических измерений с целью повышения скорости выполнения запросов к хранилищу данных нередко предпочтение отдается схеме «звезда».
Как было отмечено выше, таблица измерений может содержать поля, не имеющие отношения к иерархиям и представляющие собой просто дополнительные атрибуты членов измерений. Иногда такие атрибуты могут быть использованы при анализе данных [10].
Системы Бизнес Интеллекта и поддержки принятия решений обычно обладают средствами предоставления пользователю агрегатных данных для различных выборок из исходного набора в удобном для восприятия и анализа виде. Как правило, такие агрегатные функции образуют многомерный (и, следовательно, нереляционный) набор данных (нередко называемый гиперкубом или метакубом), оси которого содержат параметры, а ячейки — зависящие от них агрегатные данные. Причем храниться такие данные могут и в реляционных таблицах, но в данном случае речь идет о логической организации данных, а не о физической реализации их хранения. Вдоль каждой оси данные могут быть организованы в виде иерархии, представляющей различные уровни их детализации. Благодаря такой модели данных пользователи могут формулировать сложные запросы, генерировать отчеты, получать подмножества данных [17].
OLAP – это ключевой компонент организации хранилищ данных. Как было отмечено выше, концепция OLAP была описана в 1993 году Эдгаром Коддом, известным исследователем баз данных и автором реляционной модели данных. В 1995 году на основе требований, изложенных Коддом, был сформулирован так называемый тест FASMI (Fast Analysis of Shared Multidimensional Information — быстрый анализ разделяемой многомерной информации), включающий следующие требования к приложениям для многомерного анализа:
Следует отметить, что OLAP-функциональность может быть реализована различными способами, начиная с простейших средств анализа данных в офисных приложениях и заканчивая распределенными аналитическими системами, основанными на серверных продуктах [8].
Конечной целью использования OLAP является анализ данных и представление результатов этого анализа в виде, удобном для восприятия и принятия решений. Основная идея OLAP заключается в построении многомерных кубов, которые будут доступны для пользовательских запросов. Исходные данные для построения OLAP-кубов обычно хранятся в хранилищах данных, концепция построения которых рассмотрена выше [1].
Целью создания Data Warehouse Framework (инфраструктура построения хранилищ данных Microsoft) является упрощение проектирования, реализации и администрирования решений в области хранилищ данных за счет обеспечения таких возможностей как:
Архитектура Microsoft Data Warehousing Framework представляет собой план разработки и интеграции продуктов, базирующихся на платформе Microsoft (см. рис.1.2)
Рис.1.1. Архитектура Microsoft Data Warehousing Framework
Microsoft Data Warehousing Framework предназначена для обеспечения открытой архитектуры, которую можно легко расширять, опираясь на технологию, имеющую статус промышленного стандарта. Это позволяет организациям выбирать самые оптимальные компоненты, оставаясь полностью уверенными в возможности их интеграции.
Серьезным аргументом в пользу выбора Microsoft Data Warehousing Framework клиентами и независимыми поставщиками программного обеспечения является простота использования. В рамках этой инфраструктуры Microsoft предоставляет объектно-ориентированный комплект компонентов, обеспечивающих управление информацией в распределенной среде. Microsoft также предлагает разнообразные продукты, как начального уровня, так и самые совершенные, которые могут использоваться на многих шагах процесса построения хранилища данных.
Data Warehousing Framework описывает связи между различными компонентами, используемыми в процессе создания, использования и администрирования хранилища данных. Ядром Microsoft Data Warehousing Framework является набор продуктивных технологий, включающий в себя уровень транспортировки данных (OLE DB) и интегрированный репозитарий метаданных. Эти две технологии обеспечивают интегрируемость множества продуктов и инструментальных средств, используемых в процессе построения хранилища данных [16]
Ввиду того, что данные, необходимые для создания того или иного хранилища данных, обычно содержатся в оперативных базах данных, имеющих совсем иную организацию данных, то прежде чем воспользоваться этими данными в дальнейшем, необходимо предварительно преобразовать их с учетом той структуры, которая используется при построении хранилищ данных. В связи с этим Microsoft в SQL Server включила прекрасные возможности и средства достижения этой цели – Data Transformation Services (DTS).
DTS - это набор служб SQL Server, предназначенных для организации импорта, экспорта, преобразования данных и переноса их между любыми источниками, доступными через интерфейсы OLE DB. С их помощью можно копировать структуры данных и сами данные из одной базы данных в другую, создавать средства для переноса данных, встроенные в приложения, а также пополнять хранилища данных из разнообразных источников (которые в общем случае вовсе не обязательно должны быть базами данных SQL Server).
Для заполнения хранилища данных обычно требуется создать и выполнить так называемый пакет DTS (DTS package), содержащий описание последовательности всех действий, которые следует выполнить при переносе данных (включая преобразование типов данных, выполнение SQL-запросов и т.д.). Такой пакет можно выполнить с помощью SQL Server Enterprise Manager или утилиты dtsrun, сохранить его в службах метаданных (Meta Data Services; в прежних версиях SQL Server это хранилище называлось репозитарием) либо в виде структурированного файлового хранилища. Также возможно программное выполнение DTS-пакетов с помощью свойств и методов соответствующих объектов SQL DMO (Data Model Object) - для этого можно автоматически сгенерировать код на языке Visual Basic. В SQL Server 2005 также поддерживается возможность сохранения DTS-пакетов в формате XML. Кроме того, для того чтобы данные в хранилище соответствовали текущему или недавнему состоянию оперативной базы данных, можно создать расписание, согласно которому будет автоматически выполняться данный пакет, выбрав нужный режим обновления данных [19].
Таким образом, с учетом той структуры, которая присуща хранилищам данных, данные из оперативных баз данных с помощью DTS переносятся с параллельным преобразованием их в нужный формат в новую базу данных MS SQL Server 2005, которая и будет выполнять роль хранилища данных. При этом в этой базе обязательно должна храниться одна таблица фактов и несколько связанных с ней таблиц измерений.
Поскольку процесс создания хранилищ данных является итеративным по своей природе, он требует регулярного перепроектирования в течение всего жизненного цикла приложения.
Помимо DTS пакетов, можно использовать администрирование связанных серверов (Linked Servers).
Смысл связанного сервера заключается в том, что мы можем обратиться к серверу, который может находиться удаленно, например, на внешнем источнике данных, по имени из нашего локального сервера, предварительно настроив его на определенное ссылочное имя (alias). Этот внешний источник данных может являться базой данных Microsoft Access, Oracle, Microsoft Excel или почти любым источником данных, который доступен через OLE или ODBC, включая другие Microsoft SQL серверы.
С помощью связанного сервера имеется возможность создания достаточно прозрачные, удобные в использовании SQL-выражения, которые предоставляют возможность доступа к внешней информации, выкачивания полезных данных, сопоставления, обновления и комбинирования с информацией, расположенной на локальном сервере (хранилище данных).
Пока хранение бизнес информации в одном месте (хранилище данных) является достаточно удобным и выгодным, существует вероятность возникновения большого количества затруднений, таких как сопровождения аппликаций поставщиков, которые выполнены под специфическое хранилище данных. Объемы информации могут стать достаточно велики для одного сервера. Еще одной проблемой может стать защищенность авторскими правами, которые являются дорогостоящими, чтобы от них отказаться и поменять стандарты ведения бизнеса.
Менеджер репликаций позволяет относительно легко переносить данные из одного SQL сервера в другой на основании систематического базиса. Тем не менее, копирование информации на сервер приложений не всегда является очень хорошим решением. Если источник велик, и мы не можем предсказать, какое подмножество информации нам будет полезным и необходимым, тогда администрирование связанного сервера будет наилучшим решением для выхода из сложившейся ситуации.
Если множество информации очень объемно, то для повышения производительности целесообразно разделить данные на логические подмножества (части), и переместить их на различные серверы. Тогда используя распределенные, расчлененные представления можно использовать все подмножества (части) как единый источник информации. В таком случае, администрирование связанных серверов (Linked Servers Administration, LSA) – как раз та технология, которая предоставляет такие возможности.
Если мы не являемся собственниками удаленной информации, и служба распределения прав не предоставит нам полноценного доступа к данным, тогда связанный сервер будет недоступен. В таком случае необходимо получать, обмениваться и обновлять информацию, посредством различного рода расписаний и оповещений.
Если физический обмен информацией между нашим локальным SQL сервером и удаленным источником информации идет очень медленно или не является надежным, то не рекомендуется использовать администрирование связанных серверов, так как это скажется на работе всей системы в целом.
Связанные серверы (Linked servers) – это надмножество удаленных серверов. Удаленным серверам позволяется запускать хранимые процедуры на распределенных SQL-сервер машинах. Поддержка удаленных серверов производится только при условии обратной совместимости. Новые приложения, которые должны выполнять хранимые процедуры, вместо удаленных копий SQL-сервера, должны в данном случае использовать администрирование связанных серверов. Поддержка удаленных серверов может в будущем быть прекращена. Вдобавок, удаленные серверы имеют только возможность выполнять хранимые процедуры. Связанные же серверы позволяют не только выполнять хранимые процедуры, но и нерегламентированные, незапланированные запросы (ad hoc queries) к базе данных, в том числе и удаленной.
Analysis Services, входящие в состав Microsoft Visual Studio 2005 .Net Framework, представляют собой дальнейшее развитие серверных средств Microsoft SQL Server OLAP Extensions. Помимо уже имеющихся средств построения хранилищ данных и OLAP, Analysis Services в Microsoft Visual Studio 2005 .Net включают в себя средства Data Mining, новые средства управления доступом к данным и безопасностью, новые клиентские утилиты для построения и администрирования многомерных хранилищ и анализа данных, а также предоставляют новые возможности для администрирования многомерных хранилищ, создания распределенных хранилищ данных, определения метаданных (например, размерностей).
Analysis Services состоит из двух основных компонентов - серверной части (OLAP Server), и клиентского программного обеспечения под названием PivotTable Service. PivotTable Service предлагает клиентским приложениям, которые обычно размещаются на компьютерах пользователей, два программных интерфейса: ADO MD и OLE DB for OLAP. Как и у других приложений с двухуровневой архитектурой, к сильной стороне этих интерфейсов в первую очередь следует отнести высокую производительность. Используя эти интерфейсы, аналитические службы Analysis Services могут выполнять значительную долю обработки и кэширования на клиентском компьютере, что позволяет снизить сетевой трафик и нагрузку на сервер.
Decision Support Services (сервисы поддержки принятия решений, DSS) – это новое полнофункциональное OLAP-средство, предоставляемое в качестве компонента Analysis Services в Microsoft Visual Studio 2005 .Net. Microsoft DSS имеет в составе (см. рис.1.3) сервер промежуточного звена, позволяющий решать сложнейшие аналитические задачи на больших объемах данных. Второй компонент Microsoft DSS - это работающий в клиентской части механизм кэширования и вычислений PivotTable Service, позволяющий повысить производительность и уменьшить сетевой трафик. Кроме того, PivotTable Service предоставляет пользователям возможность проводить анализ даже тогда, когда они отключены от корпоративной сети.