Автор работы: Пользователь скрыл имя, 09 Сентября 2011 в 14:33, курсовая работа
Хранилище данных является неотъемлемым элементом большинства корпоративных систем business intelligence. Как правило, даже небольшие компании используют несколько информационных систем для автоматизации различных сфер деятельности. Кроме того, большинство компаний использует отдельные системы в филиалах и региональных офисах.
ВВЕДЕНИЕ 3
1. ХАРАКТЕРИСТИКА ХРАНИЛИЩА ДАННЫХ 5
1.1. Сетевое хранилище данных 6
1.2. Сравнение систем OLTP и хранилищ данных 7
1.3. Проблемы разработки и сопровождения хранилищ данных 9
2. АРХИТЕКТУРА ХРАНИЛИЩА ДАННЫХ 13
2.1. Оперативные данные 13
2.2. Диспетчеры хранилища данных 14
2.3. Суммарные данные за периоды времени 15
3. СРЕДСТВА ДОСТУПА К ДАННЫМ 17
3.1. Инструменты создания отчетов и запросов 17
3.2. Информационные потоки в хранилище данных 18
4. ИНСТРУМЕНТЫ ТЕХНОЛОГИИ ХРАНИЛИЩ ДАННЫХ 23
4.1. Инструменты извлечения, очистки и преобразования данных 23
4.2. СУБД для хранилища данных 23
4.3. Требования к СУБД для хранилища данных 24
4.4. Параллельные СУБД 27
ЗАКЛЮЧЕНИЕ 29
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 31
Повышение требований конечных пользователей. После того как конечные пользователи получат в свое распоряжение инструменты составления запросов и отчетов, их потребности в помощи и консультациях сотрудников информационной службы организации скорее возрастут, чем сократятся. Это вызвано тем, что пользователи хранилища данных начинают в большей степени осознавать истинные возможности и значение этого инструмента. Данную проблему можно частично разрешить, используя менее мощные, но простые и удобные инструменты или уделяя большее внимание обучению пользователей. Еще одной причиной увеличения нагрузки на сотрудников информационной службы организации является то, что после запуска хранилища данных возрастает количество пользователей и запросов, причем сложность запросов также существенно увеличивается.
Унификация данных. Создание крупномасштабного хранилища данных может быть связано с решением серьезной задачи унификации данных, но унификация способна уменьшить ценность собранной информации.
Высокие требования к ресурсам. Для хранилища данных может потребоваться огромный объем дискового пространства. Для многих реляционных систем поддержки принятия решений используются схемы типа "звезда", "снежинка" или "звезда-снежинка". Все эти варианты приводят к созданию очень больших таблиц с фактическими данными (называемых также таблицами фактов). При наличии множества размерностей фактических данных для хранения таблиц фактов вместе с итоговыми данными и индексами может потребоваться гораздо больше места, чем для хранения исходных необработанных данных.
Владение данными. Создание хранилища данных может потребовать изменения статуса конечных пользователей в отношении прав владения данными. Конфиденциальные данные, которые ранее были доступны для просмотра и использования только отдельными подразделениями организации, занятыми в определенных деловых сферах (например, продажа или маркетинг), теперь придется сделать доступными и другим сотрудникам организации.
Сложное сопровождение. Хранилища данных обычно характеризуются сложностью сопровождения, поскольку любая реорганизация деловых процессов или источников данных может отразиться на работе хранилища данных. Для того чтобы хранилище данных всегда оставалось ценным ресурсом, необходимо, чтобы оно постоянно соответствовало текущему состоянию организации, работу которой оно поддерживает.
Долговременный характер проектов. Хранилище данных представляет собой единый информационный ресурс организации. Однако для его создания может потребоваться до трех лет, поэтому многие организации вначале формируют магазины данных. Магазины данных (data mart) предназначены для поддержки работы только какого-то одного отделения организации или одной ее прикладной области, поэтому создать их можно гораздо быстрее.
Сложности интеграции. Наиболее важной частью процесса сопровождения хранилища данных является сохранение его интеграционных возможностей. Это означает, что организация должна потратить значительное время, чтобы определить, насколько хорошо могут интегрироваться различные инструментальные средства хранилища данных для получения искомого общего решения. Это довольно трудная задача, поскольку для выполнения различных операций с хранилищем данных могут использоваться самые разные инструментальные средства, которые должны совместно работать на пользу всей организации в целом.
Исходные данные, помещаемые в хранилище, поступают из следующих источников.
• Оперативные данные мэйнфреймов, содержащиеся в иерархических и сетевых базах данных первого поколения. По некоторым оценкам большинство оперативных корпоративных данных хранится всистемах этого типа.
• Данные различных подразделений, сохраняемые в специализированных файловых системах, таких как VSAM, RMS и реляционных базах данных наподобие Informix и Oracle.
• Закрытые данные, которые хранятся на рабочих станциях и закрытых серверах.
• Внешние системы, например Internet, коммерчески доступные базы данных или базы данных, принадлежащие поставщикам или клиентам организации.
Хранилище оперативных данных (Operational Data Store — ODS) представляет собой репозитарий для текущих и интегрированных оперативных данных, применяемых при анализе. Чаще всего оно структурируется и заполняется данными по такому же принципу как и обычное хранилище данных, но фактически применяется просто как область накопления данных перед их передачей в обычное хранилище.3
Диспетчер загрузки (load manager), который часто называют внешним (frontend) компонентом, выполняет все операции, связанные с извлечением и загрузкой данных в хранилище. Данные могут извлекаться непосредственно из источников данных, а в последнее время для этого чаще всего применяются хранилища оперативных данных. Операции, выполняемые диспетчером загрузки, включают простые преобразования данных, необходимые для их подготовки к вводу в хранилище.
Диспетчер хранилища (warehouse manager) выполняет все операции, связанные с управлением информацией, помещенной в хранилище данных. Диспетчер хранилища выполняет следующие операции:4
• анализ непротиворечивости данных;
• преобразование и перемещение исходных данных из временной области
хранения в основные таблицы хранилища данных;
• создание индексов и представлений для базовых таблиц;
• денормализация данных (в случае необходимости);
• агрегирование данных (в случае необходимости);
•
резервное копирование и
В некоторых случаях диспетчер хранилища также анализирует профили запросов для определения необходимых индексов и требований к агрегированию данных.
Диспетчер запросов (query manager), который часто называют внутренним (backend) компонентом, выполняет все операции, связанные с управлением пользовательскими запросами. Этот компонент обычно создается на основе предоставляемых разработчиком СУБД инструментов доступа к данным, инструментов мониторинга хранилища и программ собственной разработки, использующих весь набор функциональных возможностей СУБД. Сложность диспетчера запросов определяется функциональными средствами, которые предоставляются инструментами доступа к данным и самой СУБД.
В этой области хранилища размещаются все данные, предварительно обработанные диспетчером хранилища с целью их суммирования (агрегирования) за короткие и продолжительные периоды времени. Эта часть хранилища данных служит для временного хранения данных и постоянно подвергается изменениям в ответ на изменения профилей запросов. Назначение просуммированных данных состоит в повышении производительности запросов.
Архивные и резервные копии. Этот компонент хранилища данных отвечает за подготовку фактической и просуммированной информации, предназначенной для создания архивов и резервных копий. Хотя просуммированные данные вырабатываются на основе фактических данных, на их получение затрачены ресурсы, поэтому такие данные также должны быть включены в резервную копию или переданы в архив вместе с фактическими данными по истечении срока их хранения.
Метаданные. В этой области хранилища данных хранятся все те метаданные (данные о данных), которые используются любыми процессами хранилища. Метаданные могут применяться для разных целей, включая перечисленные ниже:
• Извлечение и загрузка данных. Метаданные используются для отображения источников данных на общее представление информации внутри хранилища.
• Обслуживание хранилища. Метаданные применяются для автоматизации подготовки таблиц с итоговой информацией.
•
Часть процесса обслуживания запросов.
Метаданные используются для направления
запроса к наиболее подходящему источнику
данных. Структура метаданных для разных
процессов может различаться в зависимости
от их назначения. Средства доступа конечных
пользователей к данным используют метаданные
для выбора способа построения запроса.
Основным назначением хранилища данных является предоставление конечным пользователям информации, необходимой им для принятия стратегических решений. Пользователи взаимодействуют с хранилищем с помощью специальных инструментов доступа к данным. Само хранилище данных должно обеспечивать эффективное выполнение произвольных запросов и предоставлять средства проведения анализа. Высокая производительность хранилища данных достигается за счет тщательного предварительного планирования операций соединения, суммирования и составления периодических отчетов, которые могут потребоваться конечным пользователям.
Инструменты создания отчетов подразделяются на инструменты создания итоговых отчетов и редакторы отчетов. Инструменты создания итоговых отчетов используются для создания регулярных оперативных отчетов и для подготовки таких объемных пакетных заданий, как оформление заказов и выписка счетов-фактур для клиентов или выписка чеков на получение зарплаты сотрудниками. Редакторы отчетов — это недорогие инструменты для рабочего стола, предназначенные для нужд конечных пользователей. Инструменты создания запросов в реляционных СУБД служат для ввода или формирования операторов SQL, используемых для извлечения данных из хранилища. Подобные инструменты обычно скрывают от конечных пользователей сложность операторов языка SQL и структур баз данных за счет создания между пользователем и базой данных промежуточного метауровня. Метауровень — это программное обеспечение, которое предоставляет пользователю некоторое предметно-ориентированное представление содержимого базы данных и позволяет формировать операторы SQL с помощью визуальных инструментов, действующих по принципу "указать и щелкнуть". Примером подобного инструмента создания запросов является язык Query-By-Example (QBE).
Разработка данных — это процесс открытия новых осмысленных корреляций, закономерностей и тенденций путем переработки огромного количества информации с использованием статистических и математических методов, а также методов искусственного интеллекта. Методы разработки данных обладают достаточным потенциалом, чтобы превзойти возможности инструментов OLAP, так как главным притягательным фактором использования технологии разработки данных является способность создавать прогностические, а не ретроспективные модели.5
В этом разделе рассматриваются те действия, которые осуществляются при обработке различных массивов (или потоков) информации внутри хранилища данных. В технологии хранилищ данных главное внимание уделяется управлению пятью основными информационными потоками: входным, восходящим, нисходящим, выходным и метапотоком. Место этих потоков в структуре хранилища данных схематически показано на рис.2.
С каждым из этих потоков связаны определенные процессы, которые представлены ниже.
• Входной поток. Извлечение, очистка и загрузка исходных данных.
• Восходящий поток. Повышение ценности сохраняемых в хранилище данных путем суммирования, документирования и распределения исходных данных.
• Нисходящий поток. Архивирование и резервное копирование информации в хранилище.
• Выходной поток. Предоставление данных пользователям.
• Метапоток. Управление метаданными.
Входной поток связан с выборкой информации из источников данных с целью их последующей загрузки в хранилище данных. В качестве альтернативы, данные могут первоначально загружаться в хранилище оперативных данных (Operational Data Store — ODS) перед передачей в хранилище данных. Поскольку исходные данные вырабатываются в основном системами OLTP, они должны быть перестроены в соответствии с требованиями хранилища данных. Перестройка данных включает следующие операции:
• очистка данных;
• преобразование данных в соответствии с требованиями хранилища данных, включая добавление и/или удаление полей и денормализацию данных;