Скачиваний:
82
Добавлен:
02.05.2014
Размер:
2.28 Mб
Скачать

20.3. Двенадцать основных целей

1. Локальная независимость

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

В действительности локальная независимость не вполне достижима — есть множест- во ситуаций, в которых узел X должен отказываться в определенной степени от контроля в пользу узла Y. Поэтому цель достижения локальной независимости точнее можно было бы сформулировать так: узлы должны быть независимыми в максимально возможной степени. (См. аннотацию к публикации [20.14], где этот вопрос описан подробнее.)

2. Отсутствие опоры на центральный узел

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

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

3. Непрерывное функционирование

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

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

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

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

Соседние файлы в папке Дейт К. Дж. Введение в системы баз данных [7 издание]