Загрузка...

Распределенные базы данных. Преимущества. Проблемы.


Системы распрпределенных БД состоят из наборов узлов, связанных вместе коммуникационной сетью, в которой: 1)каждый узел обладает своими СБД; 2)узлы работают согласованно, поэтому пользователь может получать доступ к данным на любом узле сети, как-будто все данные нах-ся на его узле.
Распределённые СУБД можно рассматривать, как нек-ый сп-б совместной работы отдельных локальных СУБД, расп-ых на отдельных локальных узлах. При этом новый компонент программного обеспечения на каждом узле поддерживает все необходимые ф-ции совместной работы. Комбинация этого компонента и существование СУБД обычно наз-ся распределённой СУБД. Необходимость использованиия распределенных БД связано с тем, что крупные предприятия обычно имеют распределённую структуру. Рапределенные с-мы имеют некоторые недостатки. Одна из них — сложность этих систем с технической точки зрения, которая явл-ся препятствием для разработчика, а не для пользователя.
Распределенная система (для пользователя) должна выглядеть как нераспределенная.

Проблемы распределенных систем:
Основным требованием к распределенным системам является минимизация использования сети т.е. сокращение до минимума кол-ва и объема пересылаемых в сети сообщений. Это приводит к необходимости решения след-щих проблем:

1. Обработка запросов: при минимизации исп-ния сети предполаг-ся, что сама по себе минимизация запроса как и его исполнение должна быть распределенной. Иначе говоря, общий процесс оптимизации обычно состоит из этапа глобальной оптимизации, который сопровождается несколькими этапами локальной оптимизации.

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

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

4. Управление восстановлением: оно основано на протоколе двухфазной фиксации , что особенно важно для распред-ных с-м, т.к. администраторы ресурсов, т.е. локальных СУБД, действуют на разных узлах и => автономно. Отметим несколько важных особенностей: а) стремление к независимости от центрального узла означает что функция координатора не должна присваиваться ни одному из узлов сети, вместо этого она должна выполняться для разных транзакций в различных узлах. б) при 2х фазной фиксации требуется чтобы координатор обменивался данными с каждым узлом участником, что в свою очередь означает большое количество сообщений и больше накладных расходов. в) если узел У действует как участник процесса 2х фазной фиксации координируемого узлом Х, то узел У должен выполнять любые действия предписываемые узлом Х.

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

Загрузка...