Технологии хранилищ и витрин данных


 

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

Выделяют два класса технологий баз информации, для которых в большей степени подходят сильно и слабо нормализованные отношения:

· OLTP (Online Transaction Processing) — онлайновая обработка транзакций, использующая такой способ организации СУБД, при котором система работает с транзакциями небольшими по размерам, но идущими большим потоком, и при этом клиенту требуется от системы максимально быстрое время ответа;

· OLAP (Online Аnalytical Processing) — аналитическая обработка информации в реальном времени, включающая составление и динамическую публикацию отчётов и документов и реализующая принципы построения систем поддержки принятия решений – Decision Support System (DSS) и систем интеллектуального анализа данных – Data Mining.

При реализации технологий OLAP и OLTP используется новая форма организации внутримашинной информационной базы, представляющей совокупность взаимосвязанных компонентов: Операционной Базы Данных (ОБД), Хранилищ данных (ХД) - Data Warehouse (DW) и Витрин Данных (рис. 5.6).

 

 

 

Рис. 5.6 - Организация внутримашинной информационной базы ИС

 

Операционные БД систем OLTP (Online Transaction Processing) — онлайновая обработка транзакций, являются основным источником информации. Их дополняют внешние данные, представленные обычно в текстовом формате.

Хранилище данных(Data Warehouse) по определению предложившего его Билла Инмона - предметно-ориентированное, привязанное ко времени и неизменяемое собрание данных для поддержки процесса принятия управляющих решений.

Свойства хранилищ данных:

· предметная ориентация – данные представляют предмет, а не процессы;

· интеграция;

· строгая и однотипная хронология – обязательная привязка данных по времени;

· неизменяемость – данные не изменяются, а пополняются за счет ОБД и внешних данных.

Структура данных в хранилище данных:

· мета данные (данные об данных) – информация об источнике и произведенных над исходными данными операциях;

· исходные (детальные) данные – обычно денормализованные данные, обладающие переизбыточностью, что позволяет повысить скорость доступа к необходимым данным, хотя и требует большей емкости носителей информации;

· агрегированные данные.

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

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

Данная архитектура основана на распространенной концепции посредников (mediators). Рассмотрим два типа компонентов этой ар­хитектуры. Обертка (wrapper) используется для хранения информа­ции о внешнем источнике и организации к нему доступа. При получении запроса обертка обра­щается ,к источнику через предоставляемый им интерфейс. Получен­ные от источника данные конвертируются во внутренний формат данных хранилища (т.е. в модель данных хранилища). Понятно, что для каждого источника необходима своя обертка. Посредник осуществляет интеграцию данных из различных источ­ников (из различных оберток). Посредник может взаимодействовать как с обертками, так и с другими посредниками. Таким образом, предоставляется возможность построения сложной сети взаимодей­ствующих между собой посредников, что позволит обобщать данные различными способами для удовлетворения нужд различных прило­жений, взаимодействующих с виртуальным хранилищем.

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

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

Архитектура информационной базы ИС имеет шесть уровней (рис.5.7) (несмотря на то, что сами компоненты могут отсутствовать, уровни в том или ином виде сохраняются):

 

 

 

Рис. 5.7 – Шесть уровней архитектуры хранилища данных

 

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

На втором уровне размещается система извлечения, преобразования и загрузки данных (ETL - Extract, Transformation and Load). Основная задача ETL – извлечь данные из разных систем, привести их к согласованному виду и загрузить в хранилище.

Роль следующего уровня – надежное, защищенное от несанкционированного доступа, хранение данных. В соответствии с предлагаемой тройной стратегией на этом уровне должны размещаться также системы ведения метаданных и нормативно-справочной информации (НСИ). Оперативный склад данных (Operational Data Store) необходим тогда, когда требуется как можно более оперативный доступ к пусть неполным, не до конца согласованным данным, доступным с наименьшей возможной задержкой. Зоны временного хранения (Staging area) нужны для реализации специфического бизнес – процесса, например, когда перед загрузкой данных контролер данных должен просмотреть их и дать разрешение на их загрузку в хранилище.

Системы уровня распределения данных выполняют задачи, значительно отличающиеся от задач ETL, а именно, выборку реструктуризацию и доставку данных (SRD – Sample, Restructure, Deliver). ETL извлекает данные из множества внешних систем. SRD выполняет выборку из единого хранилища данных. ETL получает несогласованные данные, которые надо преобразовать к единому формату. SRD имеет дело с очищенными данными, структуры которых должны быть приведены в соответствие с требованиями различных приложений. ETL загружает данные в центральное хранилище. SRD должно доставить данные в различные витрины в соответствии с правами доступа, графиком доставки и требованиями к составу информации.

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

Уровень бизнес-приложений представлен сценарными расчетами и статистическим анализом, многомерным анализом, средствами планирования и подготовки отчетности. Естественно, что список бизнес-приложений этим не исчерпывается.

Как исходные, так и агрегированные данные могут храниться либо в реляционных, либо в многомерных БД. Поэтому в настоящее применяются три способа хранения данных:

· MOLAP (Multidimensional OLAP) или OLAP со многими измерениями – исходные и агрегированные данные хранятся в многомерной БД;

· ROLAP (Relational OLAP) или реляционный OLAP – исходные данные находятся в своей реляционной БД, агрегированные данные помещают в специально созданные служебный таблицы в той же БД;

HOLAP (Hybred OLAP) или гибридный OLAP – исходные данные находятся в своей реляционной БД, агрегированные данные хранятся в многомерной БД.

Темы для семинаров: