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

Государственный комитет Российской Федерации по высшему  образованию

Казанский Государственный  Технический Университет  им. А.Н. Туполева

 
 

Аксанов Нияз Мансурович

ТЕХНОЛОГИЯ  ХРАНИЛИЩ ДАННЫХ

552811 МАГИСТР ПО НАПРАВЛЕНИЮ  БАЗЫ ДАННЫХ

 
 
 
 
 
 

Ризаев И.С. доцент, к.т.н.  
 

                                                                                      
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

КАЗАНЬ 2000

 
 

О Г Л А В Л  Е Н И Е.

                                                                                                                   
                                                                                                                     СТР.

     Оглавление                                                                                             2

     Введение                                                              4

    1. глава  Обзор технологии Хранилищ Данных,    
                    подходов и имеющихся решений.                                      10

    1. Информационные системы.                                                      10
    2. Концепция Хранилищ Данных.                                                 13
      1. Основные идеи концепции Хранилищ Данных                  13
      2. Свойства Хранилищ Данных.                                               16
      3. Взаимное соотношение концепции ХД  и                    
             концепций анализа данных                                                   19
    3. Технологии и средства реализации                                           23
      1. Вопросы реализации Хранилищ Данных                             23
      2. Основные компоненты Хранилищ Данных.                        31
    4. Подходы и имеющиеся решения                                               33
      1. Data Warehouse Framework                                                    33
      2. A Data Warehouse Plus.                                                           35
      3. Warehouse Technology Initiative                                             36
      4. Warehouse WORKS.                                                                39

    2. глава Исследование методов организации    
                 структуры Хранилищ Данных.                                                41

        2.1 СУБД для аналитических систем                                              41

      2.1.1 РСУБД                                                                                      41

    2.1.2 МСУБД                                                                                    48

    2.2 Витрина  Данных.                                                                         51 
    2.3. Выбор структуры Хранилища Данных                                     53

     3. глава   Проектирование Хранилищ Данных.                                 59

      3.1 Технология проектирования Хранилищ Данных                    59

       3.1.1 Планирование и проектирование                                         59

       3.1.2 Разработка                                                                              60

       3.1.3 Установка системы и эксплуатация                                     60

       3.1.4  Анализ протекающих процессов в системе                       60

      3.2 Тестовый проект по созданию витрины данных.                    61

    Заключение.                                                                                       70

    Библиографический список.                                                            71

    Приложения.                                                                                      74 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

ВВЕДЕНИЕ 
 

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

      Поэтому  является весьма актуальным рассмотрение проблем интеграции, согласованности  и достоверности информации.  Именно на решение этих задача и на преодоление ситуации «отсутствия информации при ее наличии и даже избытке» и нацелена концепция Хранилищ Данных (Data Warehouse).

      Цель  работы.  Повышение эффективности методов хранения информации предназначенной для аналитической обработки.

      Объект  исследования.  Технология Хранилищ Данных.

      История развития.  Автором концепция Хранилищ Данных является W.H. Inmon, который изложил в 1992 году предложения по организации данных, которые затем постепенно переросли в технологию Хранилищ Данных (Data Warehouse). Эта идея была дополнена в 1993 году концепцией оперативной аналитической обработки данных (OLAP) Э.Кодда, и в результате их развития за прошедшее десятилетие было разработано около десятка различных архитектур корпоративных информационных систем на основе хранилищ данных, предназначенных для поддержки принятия решений и аналитических исследований.

      Недостатки  объекта исследования Нет общих подходов к организации ХД. Высокая стоимость внедрения технология. Высокая сложность внедрения технологии. Все это препятствует широкому распространению этой технологии.

      Практическая  ценность. Результаты работы позволили:

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

      Реализация результатов работы.  Результаты данной работы использованы при разработке проекта комплекса сетевого программного обеспечения подготовки экономической и аналитической информации в САО «Росгосстрах-Татарстан» .

      Публикации. По теме диссертации опубликованы тезисы докладов на студенческих конференциях.

    1. Проблемы организации распределенных систем.// Королевские чтения.
    2. Некоторые проблемы распределенных систем.

        // VIII Всероссийские Туполевские чтения студентов. 1998.

      Объем работы. Работа состоит из введения, трех глав и заключения, изложенных на 85 страницах, содержит 6 рисунков, 13 таблиц, включает 37 наименований отечественной и зарубежной литературы, 1 приложение.

      Аннотация диссертационной  работы по главам.

      В первой главе дается обзор технологии Хранилищ Данных, подходов и имеющихся решений.

      Рассматриваются и сравниваются два направления  развития информационных систем:

  • системы, ориентированные на операционную обработку данных - системы обработки данных (СОД);
  • системы, ориентированные на анализ данных - системы поддержки принятия решений (СППР)

      Указывается на текущее состояние СОД –  накоплены огромные массивы информации, преимущественно в архивном виде, но на их основе очень затруднено или  невозможно выполнение задач  динамического  анализа развития, прогнозирования и др.

      Как решение данной проблемы предлагается рассмотреть концепцию Хранилищ Данных, как предпредметно-ориентированного, интегрированного, неизменчивого, поддерживающего хронологию набора данных, организованного для целей поддержки управления. В основе этой концепции лежат: 1) интеграция разъединенных детализированных данных, 2) разделение наборов данных и приложений, используемых для оперативной обработки и применяемых для решения задач анализа.

       Цель  концепции ХД – прояснить отличия  в характеристиках данных в операционных и аналитических системах, определить требования к данным, помещаемым в целевую БД Хранилища Данных, определить общие принципы и этапы ее построения.

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

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

      Для четкости понимания концепции Хранилищ Данных, анализируется ее взаимосвязь  с концепций анализа данных.

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

      В конце  приводятся подходы и имеющиеся решения: Data Warehouse Framework (Microsoft),  A Data Warehouse Plus (IBM), Warehouse Technology Initiative (Oracle), Warehouse WORKS (Sybase).

      Во  второй главе описывается исследование методов организации структуры данных для аналитических систем.

      Сравниваются  три варианта реализации центральной  БД в Хранилище данных. На основе РСУБД, МСУБД  и многоуровневый смешанный  вариант.

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

высокая степень нормализации. Указывается, что со временем появляются новации, которые смягчают эти ограничения. Например, схема организации данных звезда. Далее рассматриваются плюсы  и минусы вертикальной и горизонтальной фрагментации БД в целях оптимизации.

      Более просто и эффективно аналитические  системы реализуются средствами специализированных баз данных, основанных на многомерном представлении данных. В этих системах данные организованы не в виде плоских таблиц (как в реляционных системах), а в виде упорядоченных многомерных массивов - гиперкубов (или поликубов).

      Очевидно, что такое решение требует  большей суммарной памяти для  хранения данных, больших затрат времени  при их загрузке и является менее  гибким при необходимости модификации структур данных. Но, как уже было сказано выше, в аналитических задачах все это окупается за счет более быстрого поиска и выборки данных, отсутствия необходимости в многократном соединении различных таблиц и многократного вычисления агрегированных значений. И, как правило, среднее время ответа на нерегламентированный аналитический запрос при использовании многомерной СУБД обычно на один-два порядка меньше, чем в случае реляционной СУБД с нормализованной схемой данных. Но МСУБД не приспособлены работать с очень большим объемом данных.

      Показывается, что МСУБД однозначно хороши только при выполнении двух требований:

      Уровень агрегации данных в БД достаточно высок, и, соответственно, объем БД не очень велик (не более нескольких гигабайт).

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

      Далее рассматривается многоуровневое решение:

      первый уровень - общекорпоративная БД на основе РСУБД с нормализованной или слабо денормализованной схемой (детализированные данные);

      второй  уровень - БД уровня подразделения (или  конечного пользователя), реализуемые  на основе МСУБД (агрегированные данные);

      третий уровень - рабочие места конечных пользователей, на которых непосредственно установлен аналитический инструментарий;

Именно  оно постепенно становится стандартом де-факто, позволяя наиболее полно реализовать  и использовать достоинства каждого  из подходов:

    • компактного хранения детализированных данных и поддержки очень больших БД, обеспечиваемых РСУБД;
    • простота настройки и хорошие времена отклика при работе с агрегированными данными, обеспечиваемыми МСУБД.

         Далее рассматривается выбор модели и структуры Хранилища Данных. Дается понятие подхода к поиску и выборке данных, называемого Оперативной Аналитической Обработкой (On-line Analytical Processing, OLAP). В зависимости от того в каком виде данные хранятся на физическом уровне описываются системы ROLAP, HOLAP, MOLAP.

      В третьей главе рассматриваются  вопросы проектирования ХД. Здесь  предложена технология проектирования Хранилищ Данных. Описана технологическая  цепочка создания ХД.  Разработана  модель ХД для страховой компании с распределенной внутренней структурой.  На основе данных

САО «Росгосстрах-Татарстан» построена витрина данных для  получения информации о поступлении  взносов. С помощью клиентского  приложения продемонстрированы возможности  использования данных при такой  их организации. Результаты тестов приведены в приложении.

 
 
 
 
 
 
 
 
 
 
 

    1 глава. Обзор технологии  Хранилищ Данных, подходов и имеющихся  решений. 
     

    1. Информационные  системы.
 

      В области информационных технологий всегда существовали два взаимодополняющих  друг друга направления развития (рис.1):

  • системы, ориентированные на операционную обработку данных - системы обработки данных (СОД);
  • системы, ориентированные на анализ данных - системы поддержки принятия решений (СППР).

Рисунок 1. Направления развития информационных систем 

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

      На  первых этапах автоматизации требовалось  и требуется навести порядок  именно в процессах повседневной рутинной обработки (переработки) данных, на что и ориентированы традиционные СОД. Однако за последние два-три года ситуация существенно изменилась. И это непосредственно связано с тем, что практически в любой организации сложилась хорошо всем знакомая парадоксальная ситуация: информация вроде бы где-то и есть, ее даже слишком много, но она не структурирована, не согласована, разрознена, не всегда достоверна, ее практически невозможно найти и получить. На первых порах аналитические системы строились непосредственно на OLTP системах, но на сегодняшний день такое построение уже не удовлетворяет требованиям аналитиков.

      Рассмотрим  причины кризиса оперативного анализа. Ниже представлены лишь основные из них.

    • Высокая степень детализации данных в OLTP системах.
    • Информация рассредоточена между несколькими системами. Указанный факт имеет несколько аспектов:
      • Разные источники данных
      • Разные форматы данных
      • Разные механизмы доступа к данным
      • Потенциальная нецелостность группы систем. Данные в различные системы могут поступать с разной степенью регулярности. При такой ситуации, хотя каждая из систем поддерживается в целостном состоянии, целостность группы систем может быть нарушена, что может исказить общую картину.
      • Несколько независимых средств генерации отчетов.
    • Низкая скорость генерации отчетов. Поскольку OLTP системы ориентированы в первую очередь на эффективную обработку транзакций, генерирование больших и сложных отчетов обычно занимает значительное время.

      Существует  несколько путей преодоления  кризиса. Один из них –создание шлюзов между отдельными системами. Это, однако, приводит лишь к объединению нескольких OLTP систем в одну и никак не решает проблему высокой детализации данных.

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

      Для удовлетворения этим требованиям в  начале 90-х годов и возникла концепция  Хранилищ Данных.

      

      Рисунок 2. Архитектура СППР на основе Хранилища Данных. 

1.2 Концепция Хранилищ  Данных.

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

1.2.1 Основные идеи  концепции ХД

      В основе концепции Хранилищ Данных лежат  две основополагающие идеи:

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

      Цель  концепции ХД – прояснить отличия  в характеристиках данных в операционных и аналитических системах (таблица 1), определить требования к данным (таблица 2), помещаемым в целевую БД Хранилища Данных, определить общие принципы и этапы ее построения.

      Наиболее  распространенной на сегодня ошибкой  является попытка найти в концепции  Хранилищ Данных некий законченный рецепт реализации информационной аналитической системы. Тем более, это не некий готовый программный продукт или некое готовое универсальное решение.

Характеристика

Операционные

Аналитические
Частота обновления Высокая частота, маленькими порциями Малая частота, большими порциями
Источники данных В основном, внутренние В основном, внешние 
Объемы  хранимых данных Сотни мегабайт, гигабайты 
Гигабайты и терабайты 
Возраст данных Текущие (за период от нескольких месяцев до одного года) Текущие и исторические (за период в несколько лет, десятки лет)
Назначение  Фиксация, оперативный  поиск и преобразование данных Хранение детализированных и агрегированных исторических данных, аналитическая обработка, прогнозирование  и моделирование 

Таблица 1. Сравнение характеристик данных в информационных системах,

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

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

Таблица 2. Основные требования к данным в Хранилище Данных.

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

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

    • Концепция Хранилищ Данных - это не концепция анализа данных, скорее, это концепция подготовки данных для анализа.
    • Концепция Хранилищ Данных не предопределяет архитектуру целевой аналитической системы. Она говорит о том, какие процессы должны выполняться в системе, но не о том, где конкретно и как эти процессы должны выполняться.

      Концепция Хранилищ Данных предполагает не просто единый логический взгляд на данные организации (как иногда это трактуется), а  реализацию единого интегрированного источника данных.

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

      Очевидно, что для определенных классов приложений это решение вполне корректно. Но следует заранее понимать все накладываемые им ограничения.

      Кроме единого справочника метаданных, средств выгрузки, агрегации и  согласования данных, концепция Хранилищ Данных подразумевает: интегрированность, неизменчивость, поддержку хронологии и согласованность данных. И если два первых свойства (интегрированность и неизменчивость) влияют на режимы анализа данных (как будет показано ниже, без интегрированной базы данных, в которой используются специализированные методы хранения и доступа, по крайней мере, сегодня трудно говорить о реализации интерактивного динамического анализа), то последние два (поддержка хронологии и согласованность) существенно сужают список решаемых аналитических задач.

      Без поддержки хронологии (наличия исторических данных) нельзя говорить о решении задач прогнозирования и анализа тенденций. Но наиболее критичными и болезненными оказываются вопросы, связанные с согласованием данных.

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

1.2.2 Свойства Хранилищ Данных.

      Подробнее опишем – какими свойствами должно обладать содержимое ХД:

      1. Предметная  ориентация
      2. Интегрированность данных
      3. Инвариантность во времени
      4. Неразрушаемость - cтабильность информации
      5. Минимизация избыточности информации
 

1 Предметная ориентация

      В отличие от БД в традиционных OLTP-системах, где данные подобраны в соответствии с конкретными приложениями, информация в DW ориентирована на задачи поддержки  принятия решений.. Для системы поддержки  принятия решений требуются "исторические" данные - факты продаж за определенные интервалы времени. Хорошо спроектированные структуры ХД отражают развитие всех направлений бизнеса компании во времени.

      Поскольку в технологии ХД объекты данных выходят  на первый план, то особые требования предъявляются к структурам БД, используемым для создания информационных хранилищ. Принципиально отличаются и структуры баз данных для OLTP сиитем и систем ХД. Во втором случае в них помещается только та информация, которая может быть полезной для работы систем поддержки принятия решений (DSS).  

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