Основные понятия и определения РБД.
Распределенная база данных–набор логически связанных между собой разделяемых данных (и их описаний), которые физически распределены в некоторой компьютерной сети. Распределенная СУБД–программный комплекс, предназначенный для управления распределенными базами данных и позволяющий сделать распределенность информации прозрачной для конечного пользователя.
Система управления распределенными базами данных (СУРБД) состоит из единой логической базы данных, разделенной на некоторое количество фрагментов. Каждый фрагмент базы данных сохраняется на одном или нескольких компьютерах, которые соединены между собой линиями связи и каждый из которых работает под управлением отдельной СУБД. Любой из сайтов способен независимо обрабатывать запросы пользователей, требующие доступа к локально сохраняемым данным (что создает определенную степень локальной автономии), а также способен обрабатывать данные, сохраняемые на других компьютерах сети.
Пользователи взаимодействуют с распределенной базой данных через приложения. Приложения могут быть классифицированы как те, которые не требуют доступа к данным на других сайтах (локальные приложения), и те, которые требуют подобного доступа (глобальные приложения). В распределенной СУБД должно существовать хотя бы одно глобальное приложение, поэтому любая СУРБД должна иметь следующие особенности:
• Набор логически связанных разделяемых данных.
• Сохраняемые данные разбиты на некоторое количество фрагментов.
• Между фрагментами может быть организована репликация данных.
• Фрагменты и их реплики распределены по различным сайтам.
• Сайты связаны между собой сетевыми соединениями.
• Работа с данными на каждом сайте управляется СУБД.
• СУБД на каждом сайте способна поддерживать автономную работу локальных приложений.
• СУБД каждого сайта поддерживает хотя бы одно глобальное приложение.
Рисунок 1 – пример распределенной базы данных.
Иными словами:
Распределенная база данных - набор логически связанных между собой БД (совокупностей данных и их описаний), которые физически распределены в разных узлах компьютерной сети.
Любой узел в РБД способен независимо обрабатывать запросы пользователей, требующие доступа к локально сохраняемым данным (каждый узел обладает определенной степенью автономности), а также способен обрабатывать данные, сохраняемые на других компьютерах сети.
В соответствии с определением Дэйта, распределенную базу данных (РБД) (DDB - distributed database) можно рассматривать как слабосвязанную сетевую структуру, узлы которой представляют собой локальные базы данных. Эти локальные базы данных автономны, независимы и самоопределены. Доступ к ним обеспечивают сетевые многопользовательские СУБД, в общем случае от различных поставщиков.
?
Типы и свойства РБД.
С точки зрения пользователей распределенная база данных выглядит как обычная настольная база данных, компоненты которой могут находиться на различных компьютерах (узлах) локальной сети предприятия.
Для распределенных баз данных должны быть характерны следующие свойства:
Локальная автономия — свойство, означающее, что управление данными на каждом из узлов распределенной системы выполняется локально. База данных, расположенная на одном из узлов, является неотъемлемым компонентом распределенной системы. Будучи фрагментом общего пространства данных, она в то же время функционирует как полноценная локальная база данных, управление которой выполняется локально и независимо от других узлов системы.
Независимость узлов — свойство, означающее, что в идеальной системе все узлы равноправны и независимы, а расположенные на них базы являются равноправными поставщиками данных в общее пространство данных. База данных на каждом из узлов самодостаточна, т. е. она включает в себя полный собственный словарь данных и полностью защищена от несанкционированного доступа.
Непрерывность операций — свойство, которое можно трактовать как возможность непрерывного доступа к данным (24 ч в сутки или семь дней в неделю) в рамках DDB независимо от их расположения и независимо от операций, выполняемых на локальных узлах. Это свойство можно выразить следующим образом: данные доступны всегда, а операции над ними выполняются непрерывно.
Прозрачность расположения — свойство, означающее полную прозрачность расположения данных. Пользователь, обращающийся к DDB, ничего не должен знать о физическом размещении данных в узлах информационной системы. Все операции с данными выполняются без учета их местонахождения. Транспортировка запросов к базам данных осуществляется встроенными системными средствами.
Прозрачность фрагментации — свойство, которое трактуется как возможность распределенного размещения данных, логически представляющих собой единое целое. Существует фрагментация двух типов: горизонтальная и вертикальная. Первая означает хранение строк одной таблицы на различных узлах (фактически хранение строк одной логической таблицы в нескольких идентичных физических таблицах на различных узлах), а вторая — распределение столбцов логической таблицы по нескольким узлам.
Прозрачность тиражирования данных (асинхронного процесса переноса изменений объектов исходной базы данных в базы, расположенные на других узлах распределенной системы) — свойство, означающее возможность переноса изменений между базами данных средствами, невидимыми пользователю распределенной системы, или, что тиражирование возможно и достигается внутрисистемными средствами.
Возможность обработки распределенных запросов — свойство DDB, которое трактуется как возможность выполнения операций выборки информации из распределенной базы данных, сформулированных в рамках обычного запроса на языке SQL. Это означает, что операцию выборки из DDB можно сформулировать с помощью тех же языковых средств, что и операцию в локальной базе данных.
Возможность обработки распределенных транзакций — свойство DDB, которое можно трактовать как возможность выполнения операций обновления распределенной базы данных (INSERT, UPDATE, DELETE), не разрушая целостность и согласованность данных, что достигается применением двухфазового (или двухфазного) протокола фиксации транзакций (two-phase commit protocol), ставшего фактическим стандартом обработки распределенных транзакций. Использование этого протокола гарантирует согласованное изменение данных на нескольких узлах в рамках распределенной (или глобальной) транзакции.
Независимость от оборудования — свойство, означающее, что в качестве узлов распределенной системы могут выступать компьютеры любых моделей и производителей.
Независимость от операционных систем — свойство, вытекающее из предыдущего свойства и означающее многообразие операционных систем, управляющих узлами распределенной системы.
Прозрачность сети — свойство, означающее, что в распределенной системе возможны любые сетевые протоколы. Доступ к любым базам данных может осуществляться по сети и спектр поддерживаемых конкретной СУБД сетевых протоколов не должен быть ограничением системы с распределенными базами данных.
Независимость от баз данных — свойство, означающее, что в распределенной системе могут сосуществовать СУБД различных производителей, а также возможны операции поиска и обновления в базах данных различных моделей и форматов.
Рассмотренные свойства во многом связаны с технологиями, осуществляющими доступ и обработку информации в удаленных базах данных.
?
Изучение основ проектирования распределенных баз данных.
Существует 6 главных этапов проектирования распределенной базы данных:
• формулирование и анализ требований;
• концептуальное проектирование;
• проектирование реализации;
• расчленение базы данных;
• размещение базы данных;
• физическое проектирование.
На этапе формулирования и анализе требований определяются цели предприятия и уникальные требования к базе данных, которые могут вытекать из целей или быть высказаны самим управляющим персоналом предприятия. Все данные требования заносятся в документацию, чтобы ей могли воспользоваться итоговый пользователь и проектировщик базы данных. Своеобразные цели и требования, которые предъявляются к базе данных, нужно установить на наиболее высшем уровне предприятия. Все необходимые требования, которые были собраны и задокументированы, обязательно должны нести в себе ограничения, гарантирующие безопасность, надежность, уровень достигнутой технологии, а кроме этого еще и политические и бюрократические рамки.
Этап концептуального проектирования состоит из описания и синтеза различных информационных запросов пользователей в исходный проект баз данных. На данном этапе реализуется высокоуровневое отображение данных запросов. Хорошим примером такого представления является диаграмма «сущность-связь». Эта диаграмма состоит из определенного набора сущностей, представляющего или моделирующего некое множество сведений, которое специфицировано в требованиях. Связи, существующие между сущностями, представляют функциональные аспекты информации, которые представлены сущностями.