Параллельное программирование

Архитектуры ротационных БД


Сервер отсутствует. На рис. 2.1 представлена временная диаграмма работы (в начальный момент) ротационной базы данных в ЛВС, в составе которой отсутствует сервер. Сеть содержит n рабочих станций, по числу которых БД разбита на n сегментов.


Рис. 2.1.  Ротация сегментов БД

Круговая шкала времени отображает один цикл полной ротации сегментов, т.е. суммарное время однократного пребывания всей БД на одной рабочей станции. Цикл разбит на n равных отрезков времени длительностью T0. Это — такт системы, в течение которого каждая РС связана с одним сегментом БД. Время длительности такта T0 состоит из собственно времени Tдост

активного доступа к сегменту БД, пребывающему в данный момент в памяти РС, и времени ротации tрот, в течение которого производится смена сегмента в памяти РС с помощью сетевой ОС при невозможности доступа пользователя, T0 = Tдост + tрот. Таким образом, можно говорить о коэффициенте kдост доступности сегмента БД, определяющего долю времени длительности такта T0, в течение которого пользователь имеет доступ к сегменту, пребывающему в памяти РС,

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

Рассмотренная схема в наибольшей степени соответствует ЛВС с организованным круговым одновременным обменом между рабочими станциями по принципу "соседу слева (справа)".

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


Рис. 2.2.  Ротация сегментов по общей шине

При этом необходим компромисс между временем последовательного обмена внутри каждой пары РС и длительностью T0 пребывания сегмента на отдельной РС. Так как T0 в ЛВС с "шинной архитектурой" может существенно возрасти, это, как будет видно далее, приведет к увеличению среднего времени ожидания сегментов на РС в случае поступления к ним запросов.

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

Кольцевая схема ротации с сервером. Наличие сервера (рис. 2.3) в ЛВС при той же кольцевой схеме ротации, благодаря существенно большему объему памяти, позволяет значительно увеличить количество сегментов, "блуждающих" в сети, сделав их число независящим от числа рабочих станций.


Рис. 2.3.  Ротационная БД с сервером

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

Ротационная БД в ЛВС типа "звезда". Работа БД представлена на рис. 2.4.


Рис. 2.4.  БД в ЛВС типа "звезда"

ЛВС типа "звезда" реализует все достоинства ранее рассмотренной ЛВС с сервером и позволяет их развить. Это развитие заключается в следующем.

  1. Оперативно реализуется переменная структура ЛВС, так как рабочие станции легко могут исключаться "из обращения", а также могут включаться дополнительные станции.
  2. ЛВС становится в большей степени управляемой. В частности, в процессе работы пользователя некоторые запросы могут приводить к длительному времени отсутствия новых запросов. Например, при работе с затребованной литературой, архивными материалами и т.д.На это время целесообразно исключить РС из процесса ротации, ускорив работу других РС. Такая возможность может быть учтена либо сервером, либо самим пользователем. В последнем случае он получает возможность "включаться" в БД, если ему это необходимо, либо "выключаться" из нее. Тем самым он увеличивает производительность своего компьютера.


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


Содержание раздела