Тарифы Услуги Сим-карты

Корпоративные базы данных. Уровни представления корпоративной модели данных. Определение и типовые архитектуры ХД

Отраслевые модели данных

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

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

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

Как правило, выделяются модели более высокого уровня (и более общие по содержанию) и более низкого (соответственно, более детальные). Верхний уровень моделирования – это так называемые концептуальные модели данных (conceptual data models), которые дают самую общую картину функционирования предприятия или организации. Концептуальная модель включает основные концепции или предметные области, критичные для функционирования организации; обычно их количество не превышает 12-15. Такая модель описывает классы сущностей, важных для организации (бизнес-объекты), их характеристики (атрибуты) и ассоциации между парами этих классов (т.е. связи). Поскольку в бизнес-моделировании терминология еще окончательно не устоялась, в различных англоязычных источниках концептуальные модели данных могут также носить название subject area model (что можно перевести как модели предметных областей) или subject enterprise data model (предметные корпоративные модели данных).

Следующий иерархический уровень – это логические модели данных (logical data models). Они также могут называться корпоративными моделями данных или бизнес-моделями. Эти модели содержат структуры данных, их атрибуты и бизнес-правила и представляют информацию, используемую предприятием, с точки зрения бизнес-перспективы. В такой модели данные организованы в виде сущностей и связей между ними. Логическая модель представляет данные таким образом, что они легко воспринимаются бизнес-пользователями. В логической модели может быть выделен словарь данных – перечень всех сущностей с их точными определениями, что позволяет различным категориям пользователей иметь общее понимание всех входных и информационных выходных потоков модели. Следующий, более низкий уровень моделирования – это уже физическая реализация логической модели с помощью конкретных программных средств и технических платформ.

Логическая модель содержит детальное корпоративное бизнес-решение, которое обычно принимает форму нормализованной модели. Нормализация – это процесс, который гарантирует, что каждый элемент данных в модели имеет только одно значение и полностью и однозначно зависит от первичного ключа. Элементы данных организуются в группы согласно их уникальной идентификации. Бизнес-правила, управляющие элементами данных, должны быть полностью включены в нормализованную модель с предварительной проверкой их достоверности и корректности. Например, такой элемент данных, как Имя клиента, скорее всего, будет разделен на Имя и Фамилию и сгруппирован с другими соответствующими элементами данных в сущность Клиент с первичным ключом Идентификатор клиента.

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

Важно различать логическую и семантическую модель данных. Логическая модель данных представляет корпоративное бизнес-решение, а семантическая – прикладное бизнес-решение. Одна и та же корпоративная логическая модель данных может быть реализована с помощью различных семантических моделей, т.е. семантические модели могут рассматриваться как следующий уровень моделирования, приближающийся к физическим моделям. При этом каждая из таких моделей будет представлять отдельный «срез» корпоративной модели данных в соответствии с требованиями различных приложений. Например, в корпоративной логической модели данных сущность Клиент будет полностью нормализована, а в семантической модели для витрины данных может быть представлена в виде многомерной структуры.

У компании может быть два пути создания корпоративной логической модели данных: строить ее самостоятельно или воспользоваться готовой отраслевой моделью (industry logical data model). В данном случае различия в терминах отражают лишь разные подходы к построению одной и той же логической модели. В том случае, если компания самостоятельно разрабатывает и внедряет собственную логическую модель данных, то такая модель, как правило, носит название просто корпоративной логической модели. Если же организация решает воспользоваться готовым продуктом профессионального поставщика, то тогда можно говорить об отраслевой логической модели данных. Последняя представляет собой готовую логическую модель данных, с высокой степенью точности отражающую функционирование определенной отрасли. Отраслевая логическая модель – это предметно-ориентированный и интегрированный вид всей информации, которая должна находиться в корпоративном Хранилище данных для получения ответов как на стратегические, так и на тактические бизнес-вопросы. Как и любая другая логическая модель данных, отраслевая модель не зависит от прикладных решений. Она также не включает производные данные или другие вычисления для более быстрого извлечения данных. Как правило, большинство логических структур такой модели находят хорошее воплощение в ее эффективной физической реализации. Такие модели разрабатываются многими поставщиками для самых различных областей деятельности: финансовой сферы, производства, туризма, здравоохранения, страхования и т.д.

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

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

Специалист в области бизнес-аналитики (Business Intelligence) Стив Хобермэн (Steve Hoberman) выделяет пять факторов, которые необходимо принимать во внимание при решении вопроса о приобретении отраслевой модель данных. Первый – это время и средства, необходимые для построения модели. Если организации необходимо быстро добиться результатов, то отраслевая модель даст преимущество. Использование отраслевой модели не может немедленно обеспечить картину всей организации, но способно сэкономить значительное количество времени. Вместо собственно моделирования время будет потрачено на связывание существующих структур с отраслевой моделью, а также на обсуждение того, как лучше ее настроить под нужды организации (например, какие определения должны быть изменены, а какие элементы данных – добавлены).

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

Третий фактор – опыт в оценке рисков и моделировании. Создание корпоративной модели данных требует квалифицированных ресурсов как со стороны бизнеса, так и IT-персонала. Как правило, менеджеры хорошо знают либо работу организации в целом, либо деятельность конкретного отдела. Лишь немногие их них обладают как широкими (в масштабах всей компании), так и глубокими (в рамках подразделений) знаниями о своем бизнесе. Большинство менеджеров обычно хорошо знают только одну область. Поэтому, для того чтобы получить общекорпоративную картину, требуются существенные бизнес-ресурсы. Это увеличивает и требования к IT-персоналу. Чем больше бизнес-ресурсов требуется для создания и тестирования модели, тем более опытными должны быть аналитики. Они должны не только знать, как получить информацию от бизнес-персонала, но также уметь находить общую точку зрения в спорных областях и быть способными представлять всю эту информацию в интегрированном виде. Тот, кто занимается созданием модели (во многих случаях это тот же аналитик), должен обладать хорошими навыками моделирования. Создание корпоративных логических моделей требует моделирования «для будущего» и способности конвертировать сложный бизнес в буквальном смысле «в квадраты и линии».

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

Четвертый фактор – существующая инфраструктура приложений и связи с поставщиками. Если организация уже использует много инструментов одного и того же поставщика и имеет налаженные связи с ним, то имеет смысл и отраслевую модель заказывать у него же. Такая модель сможет свободно работать с другими продуктами этого же поставщика.

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

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

Отраслевые модели данных обеспечивают компаниям единое интегрированное представление их бизнес-информации. Многим компаниям бывает непросто осуществить интеграцию своих данных, хотя это является необходимым условием для большинства общекорпоративных проектов. По данным исследования Института Хранилищ данных (The Data Warehousing Institute, TDWI), более 69% опрошенных организаций обнаружили, что интеграция является существенным барьером при внедрении новых приложений. Напротив, осуществление интеграции данных приносит компании ощутимый доход.

Отраслевая модель данных, помимо связей с уже существующими системами, дает большие преимущества при осуществлении общекорпоративных проектов, таких как планирование ресурсов предприятия (Enterprise Resource Planning, ERP), управление основными данными, бизнес-аналитика, повышение качества данных и повышение квалификации сотрудников.

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

Публикации

  1. Стив Хобермэн (Steve Hoberman). Использование отраслевой логической модели данных в качестве корпоративной модели (Leveraging the Industry Logical Data Model as Your Enterprise Data Model).
  2. Клодиа Имхоф (Claudia Imhoff). Оперативное создание Хранилищ данных и выполнение проектов Business Intelligence с помощью моделирования данных (Fast-Tracking Data Warehousing & Business Intelligence Projects via Intelligent Data Modeling)

Цель лекции

Изучив материал настоящей лекции, вы будете знать:

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

и научитесь:

  • разрабатывать модели хранилища данных на основе корпоративной модели данных организации;
  • разрабатывать схему "звезда" с помощью CASE-средств;
  • секционировать таблицы многомерной модели с помощью CASE-средств.

Корпоративная модель данных

Введение

Ядром любого ХД является его модель данных. Без модели данных будет очень сложно организовать данные в ХД. Поэтому разработчики ХД должны потратить время и силы на разработку такой модели. Разработка модели ХД ложится на плечи проектировщика ХД.

По сравнению с проектированием OLTP-систем, методика проектирования ХД имеет ряд отличительных особенностей, связанных с ориентацией структур данных хранилища на решение задач анализа и информационной поддержки процесса принятия решений. Модель данных ХД должна обеспечивать эффективное решение именно этих задач.

Отправной точкой в проектировании ХД может служить так называемая корпоративная модель данных ( corporate data model или enterprise data model, EDM ), которая создается в процессе проектирования OLTP-систем организации. При проектировании корпоративной модели данных обычно предпринимается попытка создать на основе бизнес-операций такую структуру данных, которая бы собрала и синтезировала в себе все информационные потребности организации.

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

Корпоративная модель данных

Как решить задачу преобразования корпоративной модели данных в модель ХД? Чтобы решить эту задачу, нужно иметь эту модель, т.е. корпоративная модели данных должна быть построена и документирована . И нужно понять, что из этой модели и как должно трансформироваться в модель ХД.

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

Основными элементами корпоративной модели данных являются:

  • описание предметных областей организации (определение сфер деятельности);
  • взаимоотношения между определенными выше предметными областями;
  • информационная модель данных ( ERD -модель или модель "сущность-связь");
  • для каждой предметной области описание:
    • ключей сущностей;
    • атрибутов сущностей ;
    • подтипов и супертипов ;
    • связей между сущностями;
    • группировки атрибутов;
    • взаимосвязей между предметными областями;
  • функциональная модель или модель бизнес-процессов;
  • диаграммы потоков данных;
  • диаграммы состояний;
  • другие модели.

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

Уровни представления корпоративной модели данных

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

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

Корпоративная модель данных обычно имеет несколько уровней представления. На самом высоком уровне (high level) корпоративной модели данных располагается описание основных предметных областей организации и их взаимосвязей на уровне сущностей. На рис. 16.2 приведен фрагмент корпоративной модели данных верхнего уровня.


Рис. 16.2.

На схеме, приведенной на рисунке, представлено четыре предметных области: "Покупатель" (Customer ), "Счет" (account ), "Заказ" (Order ) и "Товар" (Product ). Как правило, на верхнем уровне представления модели указываются только прямые связи между предметными областями, которые, например, фиксируют следующий факт: покупатель оплачивает счет на заказ товаров. Подробная информация и косвенные взаимосвязи на этом уровне корпоративной модели не приводятся.

На следующем, среднем уровне (mid level) корпоративной модели данных показывается подробная информация об объектах предметных областей, т. е. ключи и атрибуты сущностей , их взаимосвязи, подтипы и супертипы и т.д. Для каждой предметной области модели верхнего уровня существует одна модель среднего уровня. На рис. 16.3 изображен средний уровень представления корпоративной модели для фрагмента предметной области "Заказ".

Из рис. 16.3 видно, что предметная область "Заказ" (Order ) включает в себя несколько сущностей, определенных через их атрибуты, и взаимосвязей между ними. Представленная модель позволяет ответить на такие вопросы, как дата заказа, кто сделал заказ, кто отправил заказ, кто получает заказ и ряд других. Из приведенной схемы видно, что в данной организации выделяют два типа заказов – заказы по рекламной акции (Commersial ) и заказы по розничной торговле (Retail ).

Заметим, что корпоративная модель данных может представлять различные аспекты деятельности организации и с различной степенью детализации и завершенности. Если корпоративная модель представляет все аспекты деятельности организации, она еще называется моделью данных организации ( enterprise data model).

С точки зрения проектирования ХД важным фактором в принятии решения создания модели ХД из корпоративной модели данных является состояние завершенности корпоративной модели данных .

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

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

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

5.1. Организация данных в корпоративных информационных системах.

Рассматривая КИС на самом упрощенном уровне можно сказать, что она содержит в себе корпоративную компьютерную (вычислительную) сеть и специализированный пакет прикладных программ (ППП) для решения задач предметной области. В свою очередь как ППП, так и компьютерная сеть предполагают в своей основе использование информационных данных о состоянии и развитии, контролируемых и управляемых ими систем. Исторически сложилось так, что КИС состоит из отдельных разветвленных подсистем отдельных предприятий, взаимосвязанных между собой и зачастую представляющих собой иерархическую систему. Естественно предположить, что подобные подсистемы имеют как собственные источники, так и собственные места хранения сопутствующих данных. Объединяясь в единую систему, возникают вопросы совместного корректного использования данных, территориально находящихся в различных местах их хранения. Следовательно, для успешного управления производственным объединением, оснащенным КИС, ему необходима надежная система сбора, хранения и обработки данных. Иными словами необходима единая информационная инфраструктура, удовлетворяющая стратегическим проектам BI (Business Intelligence) или интегрированная база для хранения и использования данных. Главной целью интеграции данных является получение единой и цельной картины состояния корпоративных бизнес - данных. Сама по себе интеграция представляет собой сложный процесс, в основе которого целесообразно выделить :

Технологии,

Продукты,

Приложения.

Методы – это подходы к интеграции данных.

Технологии – это процессы, реализующие те или иные методы интеграции данных.

Продукты – это коммерческие решения, поддерживающие ту или иную технологию интеграции данных.

Приложения – это готовые технические решения, поставляемые разработчиками в соответствии с пожеланиями клиентов – заказчиков.

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



5.2. Корпоративные базы данных и требования, предъявляемые к ним

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

· Простой и понятный пользователю ввод данных в базу,

· Хранение данных в виде, который не приведет к чрезмерному разрастанию данных,

· Доступность к общей информации сотрудников всех подразделений корпорации при обязательном условии разграничения прав доступа,

· Быстрое нахождение и выборка требуемой информации,

· Сортировку и фильтрацию необходимых данных,

· Группировку одноименных данных,

· Промежуточные и итоговые вычисления над полями,

· Преобразование и наглядность выводимых данных,

· Масштабируемость,

· Защищенность от случайных сбоев, безвозвратной потери данных и несанкционированного доступа.

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

Создание интегрированной корпоративной базы данных возможно различными методами, основными из которых являются:

· Консолидация,

· Федерализация,

· Распространение.

5.3. Характеристика интеграционных решений корпоративных баз данных

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

Применительно к корпорации при использовании этого метода данные копируются и собираются из первичных баз (БД – Slave) путем интеграции в единое место хранения (БД –Master). Как правило, таким местом хранения выбирается сервер центрального (головного) офиса (рис.5.1).

Рис.5.1. Метод консолидации данных

Данные в БД – Master используются для подготовки отчетности, проведения анализа, выработки и принятия решения, а также как источник данных для других филиалов корпорации.

Наиболее распространенными технологиями поддержки таких решений при консолидации являются технологии:

· Извлечение, преобразование и загрузка - ETL (Extract Transform Load);

· Управление содержанием корпорации - ECM (Enterprise Content Management).

Достоинствами метода консолидации являются:

1. Возможность осуществлять трансформацию (реструктуризацию, согласование, очистку и/или агрегирование) значительных объемов данных в процессе их передачи от первичных систем к конечным местам хранения за счет технологии ETL,

2. Возможность управления неструктурированными данными , такими как документы, отчеты и страницы благодаря технологическим решениям ECM.

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

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

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

Такое отставание может составлять от нескольких секунд до нескольких часов или даже дней.

Федерализация. Под федерализацией обычно понимается объединение. Подобный термин часто используется в политике при обустройстве границ государства (например, ФРГ, РФ, США).

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

Рис.2. Метод федерализации данных

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

Поддержку федеративного подхода к интеграции данных обеспечивает технология Enterprise information integration (E I I), что в переводе означает – Интеграция корпоративной информации.

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

Основными достоинствами федеративного подхода являются:

· возможность доступа к текущим данным без создания дополнительной новой базы данных,

· целесообразность применения после приобретения или слияния компаний,

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

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

· высокая степень полезности для крупных транснациональных корпораций.

К недостаткам подхода следует отнести:

· Снижение производительности из-за дополнительных затрат на доступ к многочисленным источникам данных,

· федерализация наиболее приемлема для извлечения небольших массивов данных,

· высокие требования к качеству первичных данных.

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

Примерами технологий, поддерживающих реализацию метода распространения данных, являются:

· Интеграция корпоративных приложений EAI – Enterprise Application Integration,

· Тиражирование корпоративных данных EDR – Enterprise Data Replication.

Обобщенная структура реализации метода распространения данных имеет вид рис.5.3.

Рис.5.3. Метод распространения данных

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

Сочетание в методе технологий интеграции (EAI) и тиражирования (EDR) дает множественные преимущества, в виде следующих достоинств:

· Высокая производительность,

· Возможность реструктуризации и очистки данных,

· Уравновешивание нагрузки за счет создания резервных копий и восстановления данных.

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

· Интеграция данных о клиентах в системахCDI – Customer Data Integration,

· Интеграция данных о клиентах в модуляхCRM – Customer Relations Management.

В частности, подход к реализации CDI может быть выполнен различными путями.

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

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

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

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

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

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

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

5.4. Понятие и структурные решения хранилищ данных

Хранилище данных – это предметно-ориентированный интегрированный накопитель информации, аккумулирующий в себе внешние и оперативные данные, а также данные из других систем, на основе которых строятся процессы принятия решений и анализа данных.

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

В основе концепции хранилищ данных положены две основные идеи:

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

2. Разделение наборов данных и приложений, используемых для обработки и анализа.

Хранилище данных организуется в тех случаях, когда необходимо получить:

· Интеграцию текущих и исторических значений данных,

· Объединение данных из разрозненных источников,

· Создание надежной платформы данных для аналитических целей,

· Обеспечение однородности данных в организации,

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

· Обеспечение широкой исторической картины и возможностей для анализа тенденций развития.

Исторически хранилища данных строились по одно- двух и трехуровневой схеме.

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

Достоинствами таких схем являются:

· Быстрая передача данных из оперативных систем в специализированную систему без промежуточных звеньев,

· Минимум затрат за счет использования единой платформы.

Недостатки:

· Узкий круг решаемых вопросов из-за единственного источника данных,

· Низкое качество данных ввиду отсутствия этапа очистки.

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

Достоинства:

· Используемые витрины проектируются для ответов на конкретный ряд вопросов,

· Имеется возможность оптимизировать данные в витринах, что способствует повышению производительности.

Недостатки:

· Сложность обеспечения непротиворечивости данных из-за многократного их повторения в витринах,

· Потенциальная сложность наполнения витрин при большом числе источников данных,

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

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

На первом уровне расположены разнообразные регистрирующие системы, являющиеся источниками данных. Такими системами могут быть системы планирования ресурсов предприятия (ERP – Enterprise Resource Planning), справочные (оперативные) системы, внешние источники или системы, поставляющие данные от информационных агентств и др.

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

· Склад является источником аналитической информации, используемой для оперативного управления,

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

Третий уровень представляет собой совокупность предметно-ориентированных витрин данных.

Витрины данных – это сравнительно небольшие функционально-ориентированные накопители, содержимое которых способствует решению аналитических задач отдельных подразделений корпорации. Фактически витрины данных представляют собой подмножества данных из хранилища. Вместе с тем конечные пользователи имеют возможность доступа к детальным данным хранилища, в случае, если данных в витрине недостаточно, а также для получения более полной картины состояния бизнеса.

Рис.5.4. Архитектура хранилища данных

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

· Извлечение данных – это процесс переноса данных из неоднородных источников в оперативный склад,

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

· Очистка данных – это исключение дублирования данных, поступающих от разных источников,

· Обновление данных – это распространение обновления данных на исходные данные базовых таблиц и производные данные, размещенные в хранилище.

Достоинства:

· Наполнение витрин упрощено ввиду использования единого источника очищенных данных,

· Витрины данных синхронизированы с корпоративной бизнес – картиной, что позволяет легко расширить центральное хранилище и добавить витрины данных,

· Гарантированная производительность.

Недостатки:

· Наличие избыточности данных, ведущее к росту требований к технологии хранения данных,

5. 5.Системы управления базами данных и технологии доступа к данным в КИС

Система управления базой данных (СУБД) – это комплекс языковых и программных средств, предназначенных для создания, ведения и совместного использования базы данных одним или многими пользователями .

В настоящее время наиболее широкое распространение получили СУБД, построенные на основе реляционной модели данных, описываемой строгим математическим аппаратом теории отношений.

Особенностью СУБД работающих в КИС является тот факт, что им приходится управлять базами данных, размещенными на носителях, распределенных в пространстве.

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

Основными технологическими решениями при многопользовательской работе с базами данных являются файл/серверные и клиент/серверные технологии. Взяв наиболее приемлемый вариант из этих технологий, клиент/сервер в КИС организуются специализированные системы обработки распределенных баз данных. При этом управление распределенными базами данных осуществляется таким образом, что данные распределяются не на логическом, а на физическом уровне и сама база данных рассматривается как единая "суперсхема". В распределенной базе данных функции администратора распределяются между администратором интегрированной базы данных и администраторами локальных баз данных. Администратор интегрированной базы данных следит за разграничением доступа разных пользователей к базе данных и обеспечивает целостность и сохранность данных, а также защиту данных от одновременной их корректировки несколькими пользователями. Разграничение доступа осуществляется в соответствии с правами, предоставляемыми отдельным пользователям в сетевой операционной системе.

Характерной особенностью созданных с помощью СУБД программ для работы с удаленными и распределенными корпоративными базами данных является использование открытого интерфейса доступа к данным – ODBC (Open Data Base Connectivity). Все функции по передаче данных возлагаются на интерфейс ODBC, который является связующим мостом между СУБД интегрированной базы и СУБД клиентских приложений. При этом СУБД клиента могут взаимодействовать не только со своими локальными базами, но и с данными, расположенными в интегрированной базе. Клиент имеет возможность посылать запросы на СУБД интегрированной базы, получать по ним данные и пересылать собственные обновленные данные.

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

  • 1. Реляционная модель данных
    • 1.1 Реляционная модель данных. Основные определения
    • 1.2 Операции над отношениями
  • 2. Корпоративные информационные системы
  • Список используемой литературы

1. Реляционная модель данных

1.1 Реляционная модель данных. Основные определения

В математических дисциплинах понятию «таблица» соответствует понятие «отношение» (relation). Таблица отражает объект реального мира - сущность, а каждая ее строка отражает конкретный экземпляр сущности. Каждый столбец имеет уникальное для таблицы имя. Строки не имеют имен, порядок их следования не определен, а количество логически не ограничено. Одним из основных преимуществ реляционной модели данных является однородность (каждая строка таблицы имеет один формат). Пользователь сам решает вопрос, обладают ли соответствующие сущности однородностью. Этим решается проблема пригодности модели.

Основные понятия:

* Отношение представляет собой двумерную таблицу, содержащую некоторые данные.

* Сущность - объект любой природы, данные о котором хранятся в БД. Атрибуты - свойства, характеризующие сущность (столбцы).

* Степень отношения - количество столбцов.

* Схема отношения - список имен атрибутов, например, СОТРУДНИК (№, ФИО, Год рождения, Должность, Кафедра).

* Домен - совокупность значений атрибутов отношения (тип данных).

* Кортеж - строка таблицы.

* Кардинальность (мощность) - количество строк в таблице.

* Первичный ключ - это атрибут, уникально идентифицирующий строки отношения. Первичный ключ из нескольких атрибутов называется составным. Первичный ключ не может быть полностью или частично пустым (иметь значение null). Ключи, которые можно использовать в качестве первичных, называются потенциальными или альтернативными ключами.

* Внешний ключ - это атрибут (атрибуты) одной таблицы, который может служить первичным ключом другой таблицы. Является ссылкой на первичный ключ другой таблицы.

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

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

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

1.2 Операции над отношениями

Чтобы привести таблицу к первой нормальной форме (1НФ), нужно соблюсти два правила:

1. Атомарность или неделимость. Каждая колонка должна содержать одно неделимое значение.

2. Таблица не должна содержать повторяющихся колонок или групп данных.

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

Начинать нормализацию следует с проверки структуры БД на совместимость с 1НФ. Все столбцы, которые не являются атомарными, должны быть разбиты на составляющие их столбцы. Если в таблице есть повторяющиеся столбцы, то им нужно выделить отдельную таблицу.

Чтобы привести таблицу к первой нормальной форме, следует:

* Найти все поля, которые содержат многосоставные части информации.

* Те данные, которые можно разбить на составные части, нужно выносить в отдельные поля.

* Вынести повторяющиеся данные в отдельную таблицу.

* Проверить, все ли таблицы подходят под условия первой нормальной формы.

Для приведения таблиц ко второй нормальной форме (2НФ), приводимые таблицы должны быть уже в 1НФ. Нормализация должна проходить по порядку.

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

Чтобы привести базу ко второй нормальной форме, надо:

* Определить все столбцы, которые не находятся в прямой зависимости от первичного ключа этой таблицы.

* Создать необходимые поля в таблицах users и forums, выделить из существующих полей или создать из новых первичные ключи.

* Для каждой таблицы нужен свой первичный ключ

* Создать внешние ключи и обозначаем их отношения между таблицами. Конечным шагом нормализации до 2НФ будет являться выделение внешних ключей для связи с ассоциированными таблицами. Первичный ключ одной таблицы должен быть внешним ключом в другой.

Подсказки:

Другой способ приведения схемы к 2НФ -- посмотреть на отношения между таблицами. Идеальный вариант -- создать все отношения вида один-к-многим. Отношения вида многие-к-многим нуждаются в реструктуризации.

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

База данных будет находиться в третьей нормальной форме, если она приведена ко второй нормальной форме и каждый не ключевой столбец независим друг от друга. Если следовать процессу нормализации правильно до этой точки, с приведением к 3НФ может и не возникнуть вопросов. Следует знать, что 3НФ нарушается, если изменив значение в одном столбце, потребуется изменение и в другом столбце.

Чтобы привести базу к третьей нормальной форме, надо:

* Определить, в каких полях каких таблиц имеется взаимозависимость, т.е. поля, которые зависят больше друг от друга, чем от ряда в целом.

* Создать соответствующие таблицы. Если есть проблемный столбец в шаге 1, создать раздельные таблицы для него.

* Создать или выделить первичные ключи. Каждая таблица должна иметь первичный ключ.

* Создать необходимые внешние ключи, которые образуют любое из отношений.

В четвертой нормальной форме дополнительное правило - необходимо исключать многозначные зависимости. Другими словами, все строки таблицы должны быть независимыми друг от друга. Наличие какой-то строки X, не должно означать, что строка Y тоже где-то есть в этой таблице.

2. Корпоративные информационные системы

реляционный модель данные система

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

1. Элемент системы -- часть системы, имеющая определенное функциональное назначение. Сложные элементы систем, в свою очередь состоящие из более простых взаимосвязанных элементов, часто называют подсистемами.

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

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

4. Архитектура системы -- совокупность свойств системы, существенных для пользователя.

5. Целостность системы -- принципиальная несводимость свойств системы к сумме свойств отдельных ее элементов (эмерджентность свойств) и, в то же время, зависимость свойств каждого элемента от его места и функции внутри системы.

Информационная система -- взаимосвязанная совокупность средств, методов и персонала, используемых для хранения, обработки и выдачи информации в интересах достижения поставленной цели»

В Федеральном законе «Об информации, информатизации и защите информации» дается следующее определение:

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

Классификация по масштабу

По масштабу информационные системы подразделяются на следующие группы:

* одиночные;

* групповые;

* корпоративные.

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

Корпоративной Информационной Системой может считаться система, автоматизирующая более 80 % подразделений предприятия.

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

Автоматизированная информационная система (АИС) представляет собой совокупность различных видов обеспечения, а также специалистов предназначена для автоматизации обработки учетно-аналитической информации. Виды обеспечения по составу, как правило, однородны для различных систем, что позволяет реализовать принцип совместимости систем в процессе их функционирования. В процессе изучения АИС как сложной системы необходимо выделять отдельные части и элементы и рассматривать особенности их использования на этапах создания и эксплуатации.

Корпоративные информационные системы являются развитием систем для рабочих групп, они ориентированы на крупные компании и могут поддерживать территориально разнесенные узлы или сети. В основном они имеют иерархическую структуру из нескольких уровней. Для таких систем характерна архитектура клиент-сервер со специализацией серверов или же многоуровневая архитектура. При разработке таких систем могут использоваться те же серверы баз данных, что и при разработке групповых информационных систем. Однако в крупных информационных системах наибольшее распространение получили серверы Oracle, DB2 и Microsoft SQL Server.

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

Классификация по сфере применения

По сфере применения информационные системы обычно подразделяются на четыре группы:

* системы обработки транзакций;

* системы принятия решений;

* информационно-справочные системы;

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

Список используемой литературы

1. Агальцов, В.П. Базы данных. В 2-х т. Т. 2. Распределенные и удаленные базы данных: Учебник / В.П. Агальцов. - М.: ИД ФОРУМ, НИЦ ИНФРА-М, 2013.

2. Голицына, О.Л. Базы данных: Учебное пособие / О.Л. Голицына, Н.В. Максимов, И.И. Попов. - М.: Форум, 2012.

3. Карпова, И.П. Базы данных: Учебное пособие / И.П. Карпова. - СПб.: Питер, 2013.

4. Кириллов, В.В. Введение в реляционные базы данных.Введение в реляционные базы данных / В.В. Кириллов, Г.Ю. Громов. - СПб.: БХВ-Петербург, 2012.

5. Пирогов, В.Ю. Информационные системы и базы данных: организация и проектирование: Учебное пособие / В.Ю. Пирогов. - СПб.: БХВ-Петербург, 2009.

6. Г.Н. Федорова. Информационные системы. - М.: Академия, 2013.

7. А.Е. Сатунина, Л.А. Сысоева. Управление проектом корпоративной информационной системы предприятия. - М.: Финансы и статистика, Инфра-М, 2009.

Размещено на Allbest.ru

...

Подобные документы

    Сущность и характеристика типов моделей данных: иерархическая, сетевая и реляционная. Базовые понятия реляционной модели данных. Атрибуты, схема отношения базы данных. Условия целостности данных. Связи между таблицами. Общие представления о модели данных.

    курсовая работа , добавлен 29.01.2011

    Корпоративные информационные системы и базы данных, их использование для совершенствования и отлаживания ведения бизнеса. Классификация корпоративных информационных систем. Информационные системы класса OLTP. Оперативная аналитическая обработка.

    курсовая работа , добавлен 19.01.2011

    Базы данных с двумерными файлами и реляционные системы управления базами данных (СУБД). Создание базы данных и обработка запросов к ним с помощью СУБД. Основные типы баз данных. Базовые понятия реляционных баз данных. Фундаментальные свойства отношений.

    реферат , добавлен 20.12.2010

    Понятие системы базы данных. Реляционная модель и ее характеристики. Целостность в реляционной модели. Реляционная алгебра. Вопросы проектирования БД. Нормальные формы отношений. Проектирование БД методом сущность-связь. ER-диаграммы. Язык SQL.

    курс лекций , добавлен 03.10.2008

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

    презентация , добавлен 14.10.2013

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

    реферат , добавлен 19.12.2011

    Виды и функции системы управления базами данных Microsoft Access. Иерархическая, сетевая, реляционная модель описания баз данных. Основные понятия таблицы базы данных. Особенности создания объектов базы данных, основные формы. Доступ к Internet в Access.

    контрольная работа , добавлен 08.01.2011

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

    научная работа , добавлен 08.06.2010

    Модели данных в управлении базами данных. Концептуальные модели данных. Роль баз данных в информационных системах. Реляционная модель данных. Определение предметной области. Построение модели базы данных для информационной системы "Домашние животные".

    курсовая работа , добавлен 19.04.2011

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

В статье описаны основные архитектуры хранилищ данных, рассмотрены некоторые общие принципы их построения. Подробно описаны способы представления иерархий в реляционной структуре данных.

Введение

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

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

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

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

Определение и типовые архитектуры ХД

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

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

Физическая реализация приведенной концептуальной схемы может быть самой разнообразной. Ниже приводятся наиболее часто встречающиеся подходы.

Виртуальное хранилище данных – это система, представляющая интерфейсы и методы доступа к регистрирующей системе, которые эмулируют работу с данными в этой системе, как с хранилищем данных. Виртуальное хранилище данных можно организовать, создав ряд представлений (view) в базе данных, либо применив специальные средства доступа, например продукты класса Desktop OLAP, к которым относится, например, BusinessObjects, Brio Enterprise и другие .

Главными достоинствами такого подхода являются:

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

Производительности;

Трансформации данных;

Интеграции данных с другими источниками;

Отсутствия истории;

Чистоты данных;

Зависимость от доступности основной БД;

Зависимость от структуры основной БД.

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

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

Проектирование структуры реляционного хранилища данных

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

К числу мало освещенных тем можно отнести проблему представления иерархий. В качестве примера измерения, широко применяющегося при анализе деятельности предприятия и имеющего иерархическую структуру, можно привести справочник статей затрат. Рассмотрим модель мест возникновения затрат (МВЗ), представленную на рис 2.

Классическая компьютерная наука решает проблему представления иерархий с помощью рекурсивной связи. Это простое решение позволяет помещать в одной таблице дерево любой глубины и размерности. В нашем случае рассматриваемые данные будут представлены в следующем виде:

Parent ID

1

Предприятие

2

Управление

3

Инфраструктура

4

Производство

5
6

Сервисные услуги

7

Месторождение A

8

Месторождение B

Таблица 1.

Однако в простоте этого решения скрывается и основной его недостаток. К сожалению, стандартный SQL не поддерживает рекурсивные указатели, поэтому для представления деревьев в ХД используют другие методы.

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

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

select sum(fact_table.cost)
from fact_table, dimension_table D1, dimension_table D2
where fact_table.dimension_id = D2.id
and D2.left >= D1.left
and D2.right <= D1.right
and D1.name = "Инфраструктура"

Для простоты работы с таким справочником кроме полей left, right стоит добавить еще два поля: "Level" – уровень узла в дереве, "Is_leaf" – флаг, показывающий является ли узел листом в дереве или нет. Таким образом, мы получаем таблицу "dimension_table" (см. таблицу 2), которая позволяет хранить дерево любой глубины вложенности и размерности и позволяет выбирать потомков и родителей с помощью одного запроса.

1

Предприятие

2

Управление

3

Инфраструктура

4

Производство

5
6

Сервисные услуги

7

Месторождение A

8

Месторождение B

Таблица 2. Представление иерархий с помощью левой и правой границ

Другой способ, описанный Ральфом Кимбаллом , основан на введении вспомогательной таблицы ("helper-table"), через которую осуществляется связь таблицы фактов с таблицей измерения. Эта вспомогательная таблица отражает иерархическую структуру измерения и подчиняется следующему закону: вспомогательная таблица содержит весь набор пар "родитель-потомок", причем потомок может не быть непосредственным потомком родителя. Структура такой таблицы и ее содержимое показано в таблице 3.

Parent ID

Child ID

Distance

1
1
1
1
1
1
1
1
2 2 0 Y
3 3 0 N
3 5 1 N
3 6 1 N
4 4 0 N
4 7 1 N
4 8 1 N
5 5 0 Y
6 6 0 Y
7 7 0 Y
8 8 0 Y

Таблица 3. Структура и содержание вспомогательной таблицы.

Теперь связывая таблицу фактов (см. рис. 4) с идентификатором ребенка во вспомогательной таблице, а таблицу измерений с идентификатором родителя, мы можем вычислять сумму затрат для каждого МВЗ и всех его составляющих одним запросом, как и в предыдущем случае. При этом, добавляя ограничения на поля "Distance" и "Is Leaf", мы можем легко считать затраты для любого уровня в иерархии.

select sum(fact_table.cost)
from fact_table, dimension_table, helper_table
where fact_table.dimension_id = helper_table.child_id
and dimension_table.dimension_id = helper_table.parent_id
and dimension_table.name = "Инфраструктура"
and helper_table.distance = 1

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

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

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

Рассмотрим его более подробно (см. рис. 5). Таблица "dimension_actual" представляет собой таблицу измерений с первичным ключом dimension_id, содержащей корректные атрибуты измерения на сегодняшний день. С ней связана через внешний ключ dimension_id историческая таблица "dimension_history", в которой находится история изменения записей, определяемая датами начала/окончания действия записи (поля date_start, date_end). Актуальная на сегодняшний день запись также присутствует в ней с открытой датой окончания действия. Таблица фактов "fact_table" связана с таблицей измерений через вспомогательную таблицу "helper_table", которая отражает иерархическую структуру измерения.

Описанный подход позволяет: во-первых, хранить и работать с измерением как с несбалансированным деревом; во-вторых, быстро выполнять запросы, для которых не важна история изменения измерения (не участвует таблица, содержащая историю); в-третьих, позволяет отслеживать историю изменения измерения и, наконец, разделяет отражение истории и иерархии, что значительно упрощает сопровождение измерения.

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

Крайним случаем такого подхода является модель, которую условно можно назвать "показатель-значение". Суть ее состоит в том, что собирается большой набор показателей, характеризующих финансово-хозяйственную деятельность предприятия. Эти показатели могут быть как связанными между собой функционально, так и нет, могут отражать одни и те же величины, но с разной степенью детализации и т.д. При попытке представить такие данные в виде многомерной модели разработчик сталкивается со значительными проблемами и очень часто идет по пути создания не хранилища данных, а хранилища форм. Типичное хранилище форм строится на основе трех измерений – экономические показатели, время, отчетные формы; таблицы фактов – значения экономических показателей и вспомогательных таблиц, описывающих, как показатели и их значения расположены в отчетных формах. При анализе таких данных аналитик будет испытывать значительные трудности, связанные главным образом с тем, что показатели различных форм нельзя сравнивать между собой. Единственное, что ему остается – это отслеживание изменений показателей одной формы во времени.

Заключение

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

В данной статье были рассмотрены возможные решения этих задач. В частности были приведены способы реализации иерархических измерений с помощью введения дополнительных атрибутов (левая и правая граница), а также с помощью введения дополнительной таблицы – "helper-table". Однако во всех рассмотренных задачах существуют нерешенные вопросы, требующие дальнейших исследований. В частности сложным для реализации является случай иерархических измерений с необходимостью поддержания истории изменений, которые имеют связи с какими-либо другими справочниками. В данную статью не вошли вопросы, касающиеся методов очистки данных и алгоритмов загрузки данных в хранилище. Эти темы требуют отдельного рассмотрения.

ЛИТЕРАТУРА

1.

Joerg Reinschmidt, Allison Francoise. Business Intelligence Certification Guide. IBM Red books;

2.

Inmon W. Building the Data Warehouse. – New York: John Willey & Sons, 1992;

3.

Спирли, Эрик. Корпоративные хранилища данных. Планирование, разработка, реализация. Том. 1: Пер. с англ. – М.: Издательский дом "Вильямс", 2001;

4.

Joe Celko. Trees in SQL: Intelligent Enterprise, October 20, 2000;

5.

Дональд Э. Кнут. Искусство программирования, том 1. Основные алгоритмы, 3-е изд.: – М. : Издательский дом "Вильямс", 2000.;

6.

Ralph Kimball. Help for Hierarchies: DBMS September 1998;

7.

Ralph Kimball. Slowly Changing Dimensions: DBMS April 1996;

8.

Статистический словарь: М. "Финансы и статистика", 1989;

9.

Дюк В, Самойленко А, Data mining: учебный курс. – СПб: Питер, 2001;

10.

Erhard Rahm, Hong Hai Do: Data Cleaning: Problems and Current Approaches. IEEE Data Engineering Bulletin 23(4): 3-13 (2000);

11.

Ralph Kimball: The Data Warehouse Toolkit: Practical Techniques for Building Dimensional Data Warehouses. John Wiley 1996;

12.

Maria Sueli Almeida, Missao Ishikawa, Joerg Reinschmidt, Torsten Roeber, Getting Started with Data Warehouse and Business Intelligence. IBM Red books;

13.

Nigel Pendse, OLAP Architectures: The OLAP Report, http://www.olapreport.com/Architectures.htm#top.