Виды моделей данных. Схема КМД – это описание структуры модели данных с точки зрения администратора. Корпоративные базы данных

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

Эпилог

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

По большом счету, не важно – кто именно выполняет роль архитектора – важно, что кто-то ставит подобные вопросы и исследует на них ответы. Если архитектор явно выделен – это лишь означает, что ответственность за систему и ее развитие несет, прежде всего, он.
Почему мне показалась тема «антихрупкости» релевантной относительно данного предмета?

“Уникальность антихрупкости состоит в том, что она позволяет нам работать с неизвестностью, делать что-то в условиях, когда мы не понимаем, что именно делаем, – и добиваться успеха” /Нассим Н.Талеб/
Поэтому, кризис и высокая степень неопределенности – это не оправдание в пользу отсутствия архитектуры, а факторы, усиливающие ее необходимость.

Теги: Добавить метки

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

Введение

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

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

Очевидно, что регистрирующие системы не удовлетворяли ни одному из вышеуказанных требований. В регистрирующей системе информация актуальна только на момент обращения к базе данных, в следующий момент времени по тому же запросу Вы можете получить совершенно другой результат. Интерфейс регистрирующих систем рассчитан на проведение жестко определенных операций и возможности получения результатов на нерегламентированный (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.

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, который является связующим мостом между СУБД интегрированной базы и СУБД клиентских приложений. При этом СУБД клиента могут взаимодействовать не только со своими локальными базами, но и с данными, расположенными в интегрированной базе. Клиент имеет возможность посылать запросы на СУБД интегрированной базы, получать по ним данные и пересылать собственные обновленные данные.

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


Поделитесь работой в социальных сетях

Если эта работа Вам не подошла внизу страницы есть список похожих работ. Так же Вы можете воспользоваться кнопкой поиск


PAGE 15

ТЕМА V. КОРПОРАТИВНЫЕ БАЗЫ ДАННЫХ

ЛЕКЦИЯ 8

V .1. Организация данных в корпоративных системах. Корпоративные базы данных.

V .2. СУБД и структурные решения в корпоративных системах.

V .3. Технологии Internet / Intranet и корпоративные решения по доступу к базам данных.

V .1. ОРГАНИЗАЦИЯ ДАННЫХ В КОРПОРАТИВНЫХ СИСТЕМАХ. КОРПОРАТИВНЫЕ БАЗЫ ДАННЫХ

Корпоративная база данных является центральным звеном корпоративной информационной системы и позволяет создать единое информационное пространство корпорации. Корпоративные базы данных (рис.1.1).

Существуют различные определения баз данных.

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

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

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

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

Основные требования к базам данных :

  • Полнота представления данных. Данные в базе должны адекватно представлять всю информацию об объекте и их должно быть достаточно для СОД.
  • Целостность базы данных. Данные должны сохранятся при обработке их СОД и в любых ситуациях, возникающих в процессе работы.
  • Гибкость структуры данных. База данных должна позволять изменять структуры данных, не нарушая своей целостности и полноты при изменении внешних условий.
  • Реализуемость. Это значит, что должно быть объективное представление разнообразных объектов, их свойств и отношений.
  • Доступность. Необходимо обеспечить разграничение доступа к данным.
  • Избыточность. База данных должна иметь минимальную избыточность представления данных о каком-либо объекте.

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

База знаний (БЗ)  совокупность баз данных и используемых правил, полученных от лиц, принимающих решения. База знаний является элементом экспертных систем.

Следует различать различные способы представления данных .

Физические данные – это данные, хранящиеся в памяти ЭВМ.

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

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

Рис. 1.1. Структура взаимодействия подразделений с информационными ресурсами корпорации.

Корпоративные базы данных бывают сосредоточенные (централизованные ) и распределенные .

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

Рис.1.2. Схема гетерогенной централизованной базы данных

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

  • Большой поток обмена данными;
  • Высокий трафик в сети;
  • Низкая надежность;
  • Низкая общая производительность.

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

  • Более высокая степень одновременности обработки вследствие распределения нагрузки;
  • Улучшение использования данных на местах при выполнении удаленных (дистанционных) запросов;
  • Меньшие затраты;
  • Простота управления локальными базами.

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

Рис.1.3. Распределенная база данных корпорации.

Дадим следующее определение распределенной базы данных.

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

Важнейшие требования к характеристикам распределенной базы данных таковы:

  • Масштабируемость;
  • Совместимость;
  • Поддержка различных моделей данных;
  • Переносимость;
  • Прозрачность расположения;
  • Автономность узлов распределенной базы данных (Site Autonomy);
  • Обработка распределенных запросов;
  • Выполнение распределенных транзакций.
  • Поддержка однородной системы безопасности.

Прозрачность расположения позволяет пользователям работать с базами данных, не зная ничего об их расположении. Автономность узлов распределенной базы данных означает, что ведение каждой базы может происходить независимо от других. Распределенный запрос - это такой запрос (SQL-предложение), в ходе выполнения которого происходит доступ к объектам (таблицам или представлениям) разных баз данных. При выполнении распределенных транзакций осуществляется согласованное управление (concurrency control) всеми вовлеченными базами данных. Oracle7 использует технологию двухфазной передачи информации для выполнения распределенных транзакций.

Базы данных, составляющие распределенную базу данных, не обязательно должны быть однородными (т.е. вестись одной СУБД) или обрабатываться в среде одной и той же операционной системы и/или на компьютерах одного и того же типа. Например, одна база данных может быть базой Oracle на компьютере SUN с операционной системой SUN OS(UNIX), вторая база данных может вестись СУБД DB2 на мейнфрейме IBM 3090 с операционной системой MVS, а для ведения третьей базы может использоваться СУБД SQL/DS также на мейнфрейме IBM, но с операционной системой VM. Обязательно только одно условие - все машины с базами данных должны быть доступны по сети, в которую они входят.

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

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

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

  • Необходимо иметь единую концептуальную схему всей сети. Это обеспечит логическую прозрачность данных для пользователя, в результате чего он сможет сформировать запрос ко всей базе, находясь за отдельным терминалом (он как бы работает с централизованной базой данных).
  • Необходима схема, определяющая местонахождение данных в сети. Это обеспечит прозрачность размещения данных, благодаря которой пользователь может не указывать, куда переслать запрос, чтобы получить требуемые данные.
  • Необходимо решить проблему неоднородности распределенных баз данных. Распределенные базы могут быть однородными и неоднородными в смысле аппаратных и программных средств. Проблема неоднородности сравнительно легко решается, если распределенная база данных является неоднородной в смысле аппаратных средств, но однородной в смысле программных средств (одинаковые СУБД в узлах). Если же в узлах распределенной системы используются разные СУБД, необходимы средства преобразования структур данных и языков. Это должно обеспечить прозрачность преобразования в узлах распределенной базы данных.
  • Необходимо решить проблему управления словарями. Для обеспечения всех видов прозрачности в распределенной базе данных нужны программы, управляющие многочисленными словарями и справочниками.
  • Необходимо определить методы выполнения запросов в распределенной базе данных. Методы выполнения запросов в распределенной базе данных отличаются от аналогичных методов в централизованных базах, так как отдельные части запросов нужно выполнять на месте расположения соответствующих данных и передавать частичные результаты на другие узлы; при этом должна быть обеспечена координация всех процессов.
  • Необходимо решить проблему параллельного выполнения запросов. В распределенной базе нужен сложный механизм управления одновременной обработкой, который, в частности, должен обеспечить синхронизацию при обновлениях информации, что гарантирует непротиворечивость данных.
  • Необходима развитая методология распределения и размещения данных, включая расщепление, является одним из основных требований к распределенной базе данных.

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

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

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

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

Информационные хранилища. Сегодня многие признают, что уже сейчас в большинстве компаний эксплуатируется несколько БД и, для успешной работы с информацией, требуются не просто разнотипные базы данных, а разные поколения СУБД. Согласно статистике, в каждой организации используется в среднем 2,5 различных СУБД. Стала очевидной необходимость "изолировать" бизнес компаний, вернее, людей, занимающихся этим бизнесом, от технологических особенностей баз данных, предоставить пользователям единый взгляд на корпоративную информацию независимо от того, где она физически хранится. Это стимулировало появление технологии информационных хранилищ (Data Warehousing, DW ).

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

Новый виток развития DW стал возможным благодаря совершенствованию информационных технологий в целом, в частности появлению новых типов баз данных на основе параллельной обработки запросов, которые в свою очередь опирались на достижения в области параллельных компьютеров. Были созданы программы-конструкторы запросов с интуитивным графическим интерфейсом, позволившие легко строить сложные запросы к БД. Разнообразное ПО промежуточного слоя (midleware) обеспечило связь между разнотипными базами данных , и, наконец, резко подешевели устройства хранения информации .

В структуре корпорации может присутствовать банк данных.

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

Банк данных рассматривают как информационно-справочную систему, основное назначение которой состоит:

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

Таким образом, современный банк данных представляет собой сложный программно-технический комплекс, в состав которого входят технические, системные и сетевые средства, базы данных и СУБД, информационно-поисковые системы различного назначения.

V .2. СУБД И СТРУКТУРНЫЕ РЕШЕНИЯ В КОРПОРАТИВНЫХ СИСТЕМАХ

Системы управления базами данных и знаний

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

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

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

Основная особенность современных СУБД - это то, что современные СУБД поддерживают такие технологии как :

  • Технологию клиент/сервер.
  • Поддержка языков БД. Это язык определения схемы БД (SDL - Schema Definition Language), язык манипулирования данными (DML - Data Manipulation Language), интегрированные языки SQL (Structured Queue Language ), QDB (Query - By - Example ) и QMF (Query Management Facility ) – развитое периферийное средство спецификации запросов и генерации отчетов для DB 2 и т. д.;
  • Непосредственное управление данными во внешней памяти.
  • Управление буферами оперативной памяти.
  • Управление транзакциями . OLTP – технология (On -Line Transaction Processing), OLAP – технология (On -Line Analysis Processing) для DW.
  • Обеспечить защиту и целостность данных. Использование системы разрешается лишь пользователям, имеющим право доступа к данным. При выполнении пользователями операций над данными поддерживается согласованность хранящихся данных (целостность). Это важно в корпоративных многопользовательских информационных системах.
  • Журнализация.

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

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

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

  • их возможностей по отношению к распределенным (корпоративным) базам;
  • их отношения к типу реализуемой в СУБД модели данных.

По отношению к корпоративным (распределенным) базам данных условно можно выделить следующие типы СУБД:

  • СУБД «рабочего стола». Эти продукты, в первую очередь ориентированы на работу с персональными данными (данные "рабочего стола"). Они имеют наборы команд для совместного использования общих БД, но небольшого размера (типа малого офиса). Прежде всего, это СУБД типа Ассеss, dВАSЕ, Рагаdох, ЕохРго. Почему Ассеss, dВАSЕ, Рагаdох, ЕохРго имеют неудовлетворительный доступ к корпоративным данным. Дело в том, что не существует простого способа преодолеть барьер между персональными и корпоративными данными. И суть даже не в том, что механизм СУБД персональных данных (или малого офиса) ориентирован на доступ к данным через многие шлюзы, межсетевые продукты и т.д. Проблема состоит в том, что эти механизмы обычно связаны с полной передачей файлов и отсутствием разветвленной поддержки индексов, в результате чего очереди к серверу практически останавливают работу в больших системах.
  • Специализированные высокопроизводительные многопользовательские СУБД. Такие СУБД характеризуются наличием многопользовательского ядра системы, языка манипулирования данными и следующими функциями, характерными для развитых многопользовательских СУБД:
  • организацией буферного пула;
  • наличием системы обработки очередей транзакций;
  • наличием механизмов многопользовательской блокировки данных;
  • ведением журнала транзакций;
  • наличием механизмов разграничения доступа.

Это СУБД типа Oracle, DВ2, SQL/Server, Informix, Sybase, ADABAS, Titanium и другие предоставляют широкий сервис для обработки корпоративных БД.

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

Транзакция – это логическая единица работы.

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

Транзакция обладает четырьмя важными свойствами, известными как свойства АСИД :

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

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

  • Подана команда COMMIT WORK (зафиксировать транзакцию).
  • Подана команда ROLLBACK WORK (откатить транзакцию).
  • Произошло отсоединение пользователя от СУБД.
  • Произошел сбой системы.

Для пользователя она носит, как правило, атомарный характер . На самом деле это сложный механизм взаимодействия пользователь (приложение) – база данных. Программное обеспечение корпоративных систем используют механизм обработки транзакций в реальном времени (On-lineTransaction Processing Systems, OLTP ), в частности программы бухгалтерского учета, программное обеспечение приема и обработки клиентских заявок, финансовые приложения, производят массу информации. Эти системы рассчитаны (и соответствующим образом оптимизированы) на обработку больших объемов данных, выполнение сложных транзакций и интенсивных операций чтения/записи.

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

Доставкой информации конечному пользователю - занимаются системы аналитической обработки данных в реальном времени (On-line Analytical Processing, OLAP) , которые обеспечивают исключительно простой доступ к данным за счет удобных средств генерации запросов и анализа результатов. В OLAP-системах ценность информационного товара увеличивается благодаря применению разнообразных методов анализа и статистической обработки. Кроме того, эти системы оптимизированы с точки зрения скорости извлечения данных, сбора обобщенной информации и ориентированы на рядовых пользователей (имеют интуитивно понятный интерфейс). Если OLTP-система выдает ответы на простые вопросы типа "каков был уровень продаж товара N в регионе M в январе 199х г.?", то OLAP- системы готовы к более сложным запросам пользователей, например: "Дать анализ продаж товара N по всем регионам по плану на второй квартал в сравнении с двумя предыдущими годами".

Архитектура клиент/сервер

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

Сервер

База данных

Компьютер-сервер


Сеть

IBM-совместимый ПК

IBM-совместимый ПК

IBM-совместимый ПК

Клиенты

Приложения

Рис. 2.1. Система архитектуры клиент-сервер

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

Сервер (Server ) – это объект (ЭВМ), предоставляющий услуги другим объектам по их запросам.

Как следует уже из самого термина, главная функция компьютера-сервера заключается в обслуживании потребностей клиента. Термин "Сервер" используется для обозначения двух различных групп функций: файл-сервер и сервер баз данных (далее эти термины означают в зависимости от контекста либо программное обеспечение, реализующее указанные группы функций, либо компьютеры с этим программным обеспечением). Файл-серверы не предназначены для выполнения операций с базами данных, их основная функция - разделение файлов между несколькими пользователями, т.е. обеспечение одновременного доступа многих пользователей к файлам на компьютере - файл-сервере. Примером файл-сервера является операционная система NetWare компании Novell. Сервер баз данных можно установить и привести в действие на компьютере -- файл-сервере. СУБД Oracle в виде NLM (Network Loadable Module) выполняется в среде NetWare на файл-сервере.

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

Одно из важных требований к серверу - это то, что операционная система, в среде которой размещен сервер баз данных, должна быть многозадачной (и, желательно, но не обязательно, многопользовательской). Например, СУБД Oracle, установленная на персональном компьютере с операционной системой MS-DOS (или PC-DOS), не удовлетворяющей требованию многозадачности, не может использоваться как сервер баз данных. И та же СУБД Oracle, установленная на компьютере с многозадачной (хотя и не многопользовательской) операционной системой OS/2, может быть сервером баз данных. Многие разновидности систем UNIX, MVS, VM и некоторые другие операционные системы являются и многозадачными, и многопользовательными.

Распределенные вычисления

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

  • Распределенная база данных;
  • Распределенная обработка данных.

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

Существует много типов серверов:

  • Сервер баз данных;
  • Сервер печати;
  • Сервер удаленного доступа;
  • Факс-сервер;
  • Web -сервер и т.д.

В основе базовой технологии Клиент/сервер лежат такие базовые технологии, как:

  • Технологии операционных систем, концепция взаимодействия открытых систем, создание объектно-ориентированных сред функционирования программ;
  • Телекоммуникационные технологии;
  • Сетевые технологии;
  • Технологии графического пользовательского интерфейса (GUI );
  • И т.д.

Преимущества технологии клиент-сервер:

  • Технология клиент/сервер позволяет производить вычисления на неоднородных вычислительных средах. Независимость от платформ: доступ к разнородным сетевым средам, в состав которых входят компьютеры разных типов с различными операционными системами.
  • Независимость от источников данных: доступ к информации разнородных баз данных. Примеры таких систем -- DB2, SQL/DS, Oracle, Sybase.
  • Баланс загрузки клиента и сервера.
  • Выполнение вычислений там, где это происходит наиболее эффективно;
  • Предоставляют возможность эффективного масштабирования;
  • Межплатформные вычисления . Межплатформные вычисления определяются просто как реализация технологий в неоднородных вычислительных средах. Здесь должны быть обеспечены следующие возможности:
  • Приложение должно выполняться на нескольких платформах;
  • На всех платформах оно должно иметь один и тот же интерфейс и логику работы;
  • Приложение должно интегрироваться с родной операционной средой;
  • Оно должно одинаково вести себя на всех платформах;
  • Для него должна предусматриваться простая и согласованная поддержка.

Распределенные вычисления. Распределенные вычисления предусматривают распределение работ между несколькими вычислительными машинами (правда, распределенные вычисления более широкое понятие).

Разукрупнение. Разукрупнение – перенос приложений для больших ЭВМ на малые компьютерные платформы.

  • Снижение затрат на инфраструктуру и аппаратные средства. Экономичность: доступность недорогого компьютерного оборудования и все большее распространение локальных сетей делают технологию клиент-сервер экономичнее других технологий обработки данных. Оборудование может быть модернизировано, как только возникнет необходимость.

Сокращение общего времени выполнения приложения;

Уменьшение использования клиентом памяти;

Сокращение сетевого трафика.

  • Возможность работы с мультимедиа: к настоящему времени создано немало программ работы с мультимедиа для ПК. Подобных программ для конфигурации терминал-хост либо нет, либо они очень дороги.
  • Возможность привлечения больших вычислительных ресурсов для операций с базами данных: поскольку приложения выполняются на компьютерах-клиентах, на компьютере-сервере для операций с базами данных высвобождаются дополнительные (по сравнению с конфигурацией терминал-хост) ресурсы, такие, как вычислительные ресурсы центрального процессора и оперативная память.
  • Более высокая продуктивность работы программистов: производительность труда программистов возрастает благодаря использованию таких средств, как SQL*Forms и CASE: они позволяют разрабатывать приложения быстрее, чем такие языки программирования, как C, PL1 или COBOL.
  • Повышение продуктивности работы конечных пользователей: в настоящее время многие конечные пользователи освоили такие системы, как Lotus, Paradox, Word Perfect, Harvard Graphics и т.д.

Интерфейс серверной части определен и фиксирован. Поэтому возможно создание новых клиентских частей существующей системы (пример интероперабельности на системном уровне).

Рис. 2.2. Иллюстрация доступа клиентов к общему ресурсу сервера.

Как внедрить технологию клиент-сервер

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

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

Язык SQL . Язык запросов высокого уровня - SQL (Structured Query Language ) служит для реализации запросов к базам данных, таких как ЯМД, ЯОД и ПЯД и принят в качестве стандарта. Язык SQL первоначально был принят в качестве языка данных программных изделий фирмы IBM и ЯМД реляционной СУБД SYSTEM R фирмы IBM . Важной особенностью языка SQL заключается в том, что один и тот же язык представляется через два различных интерфейса, а именно: через интерактивный интерфейс и через интерфейс прикладного программирования (динамический SQL ). Динамический SQL состоит из множества возможностей встроенного языка SQL , предусмотренных специально для конструирования интерактивных приложений, где под интерактивным приложением понимается программа, которая написана для поддержки обращения к базе данных конечного пользователя, работающего на интерактивном терминале. Язык SQL обеспечивает выполнение функций определения, манипулирования и управления данными баз данных и является прозрачным для пользователя с точки зрения реализуемой СУБД.

Рис. 2.3. Схема выполнения запросов пользователя к распределенным базам данных.

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

Модель данных состоит из трех компонент :

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

Одной из важнейших характеристик работы СУБД является возможность связывать объекты.

Существуют следующие виды связей между объектами:

  • Один-к-Одному (1:1) . Один объект одного множества может быть связан с одним объектом другого множества.
  • Один-ко-Многим (1:M) . Один объект одного множества может быть связан со многими объектами другого множества.
  • Многие-ко-Многим (M:N) . Один объект одного множества может быть связан со многими объектами другого множества, но при этом один объект другого множества может быть связан со многими объектами первого множества.
  • Разветвленная . Один объект одного множества может быть связан с объектами многих множеств.
  • Рекурсивная . Один объект данного множества может быть связан объектом этого же множества.

Существуют следующие основные модели данных :

  • Реляционная модель данных.
  • Иерархическая модель данных.
  • Неполная сетевая модель данных.
  • Модель данных CODASYL.
  • Расширенная сетевая модель данных.

V .3. ТЕХНОЛОГИИ INTERNET / INTRANET И КОРПОРАТИВНЫЕ РЕШЕНИЯ ПО ДОСТУПУ К БАЗАМ ДАННЫХ

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

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

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

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

Другие похожие работы, которые могут вас заинтересовать.вшм>

6914. Понятие базы данных 11.56 KB
Базой данных является представленная в объективной форме совокупность самостоятельных материалов статей расчетов нормативных актов судебных решений и иных подобных материалов систематизированных таким образом чтобы эти материалы могли быть найдены и обработаны с помощью электронной вычислительной машины Гражданский кодекс РФ ст. База данных организованная в соответствии с определёнными правилами и поддерживаемая в памяти компьютера совокупность данных характеризующая актуальное состояние некоторой...
8064. Распределенные базы данных 43.66 KB
Распределенные базы данных Под распределенной базой данных РБД понимается набор логически связанных между собой разделяемых данных которые физически распределены по разных узлам компьютерной сети. Доступ к данным не должен зависеть от наличия или отсутствия реплик данных. Система должна автоматически определять методы выполнения соединения объединения данных сетевой канал способный справиться с объёмом передаваемой информации и узел имеющий достаточную вычислительную мощность для соединения таблиц. СУРБД должна быть способной...
20319. БАЗЫ ДАННЫХ И ИХ ЗАЩИТА 102.86 KB
Оперативные сетевые базы данных появились в середине 1960-х. Операции над оперативными базами данных обрабатывались в интерактивном режиме с помощью терминалов. Простые индексно-последовательные организации записей быстро развились к более мощной модели записей, ориентированной на наборы. За руководство работой Data Base Task Group (DBTG), разработавшей стандартный язык описания данных и манипулирования данными, Чарльз Бахман получил Тьюринговскую премию.
5031. Разработка базы данных Библиотека 11.72 MB
Технология проектирования баз данных. Определение взаимосвязей между сущностями и создание модели данных. Основные идеи современной информационной технологии базируются на концепции согласно которой данные должны быть организованы в базы данных с целью адекватного отображения изменяющегося реального мира и удовлетворения информационных потребностей пользователей. Эти базы данных создаются и функционируют под управлением специальных программных комплексов называемых системами управления базами данных СУБД.
13815. ИЕРАРХИЧЕСКАЯ МОДЕЛЬ БАЗЫ ДАННЫХ 81.62 KB
Основные идеи современной информационной технологии базируются на концепции баз данных согласно которой основой информационной технологии являются данные организованные в базах данных адекватно отражающие состояние той или иной предметной области и обеспечивающие пользователя актуальной информацией в этой предметной области. Необходимо признать тот факт что данные являются...
14095. Разработка базы данных библиотеки 11.72 MB
Увеличение объема и структурной сложности хранимых данных, расширение круга пользователей информационных систем привели к широкому распространению наиболее удобных и сравнительно простых для понимания реляционных (табличных) СУБД.
5061. Создание базы данных поликлиники 2.4 MB
Развитие средств вычислительной техники и информационных технологий обеспечило возможности для создания и широкого применения автоматизированных информационных систем (АИС) разнообразного назначения. Разрабатываются и внедряются информационные системы управления хозяйственными и техническими объектами
13542. Базы данных геологической информации 20.73 KB
В последнее время широкими темпами происходит внедрение компьютерных технологий и, в частности баз данных, в научную сферу. Этот процесс не обходит стороной и геологию, так как именно в естественных науках имеется необходимость для хранения и обработки больших объемов информации.
9100. Базы данных. Основные понятия 26.28 KB
База данных – это совокупность сведений о конкретных объектах реального мира в какой-либо предметной области экономика менеджмент химия и т. Целью информационной системы является не просто хранение данных об объектах но и манипулирование этими данными учитывая связи между объектами. Каждый объект характеризуется каким-либо набором данных свойств которые в БД называются атрибутами.
5240. Создание базы данных «Деканат ВУЗа» 1.57 MB
База данных (БД) - это совокупность взаимосвязанных, хранящихся вместе на внешних носителях памяти компьютера данных, при наличии такой организации и минимальной избыточности, которая допускает их использование оптимальным образом для одного или нескольких приложений

Цель лекции

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

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

и научитесь:

  • разрабатывать модели хранилища данных на основе корпоративной модели данных организации;
  • разрабатывать схему "звезда" с помощью 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).

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

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

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

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