Инструменты пользователя

Инструменты сайта


examination:rsubd:question1

Вопрос №1. Определение системы распределенных баз данных


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

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

1.1.1. Предварительные сведения

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

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

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


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


Рис. 1. Пример типичной системы распределенной базы данных

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

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

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

examination/rsubd/question1.txt · Последние изменения: 2014/01/15 08:21 (внешнее изменение)