Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курс лекций СБД.doc
Скачиваний:
24
Добавлен:
13.11.2019
Размер:
1.94 Mб
Скачать
      1. Управление каталогом

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

  1. Полностью распределенный подход. В этом случае каждый узел содержит информацию каталога, относящуюся к тем частям распределенной базы данных, которые локально хранятся в данном узле. Сложность при таком хранении заключается в том, что каждый раз, когда требуется получить доступ к нелокальным данным, узел должен исследовать каталоги всех других узлов, пока не будут найдены нужные данные. Это значительно снижает производительность при необходимости доступа к нелокальным данным.

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

  3. Централизованный подход. В таком случае наряду с локальными словарями метаданных в одном из узлов существует каталог всех данных системы. Для доступа к нелокальным данным сначала проводится поиск в этом центральном узле. Все изменения, производимые в локальных словарях, должны вноситься и в центральный каталог. Данный подход является комбинацией первых двух и сочетает в себе их преимущества. Однако в нем нарушается принцип отсутствия зависимости от центрального узла. Если произойдет сбой машины, на которой ведется центральный каталог, то доступ к нелокальным данным станет невозможен.

  4. Подход с использованием перманентных идентификаторов. Варианты этой схемы используются во многих системах, хотя детали ее реализации могут варьироваться. При создании в определенном узле объекта данных, объекту присваивается логический идентификатор, который экспортируется в словари метаданных всех других узлов. Этот логический идентификатор указывает узел, где был создан объект. Элемент каталога узла создания отслеживает, где в действительности хранится данный объект данных. Таким образом, если объект (например, отношение) перемещается из узла, где он был создан, в другой узел, элемент каталога в узле создания изменяется, чтобы указать новое местоположение объекта. Информация об объекте также заносится в словарь метаданных того узла, где он теперь хранится. Любой другой узел, которому нужен данный объект, будет сначала обращаться к элементу каталога в узле создания, а затем с помощью этой информации находить сам объект. Если объект вновь перемещается, он просто удаляется из словаря метаданных соответствующего узла, заносится в словарь данных нового узла, а элемент каталога в узле создания изменяется, чтобы отразить новое положение объекта. Если этот объект нужен другому узлу, доступ к нему по-прежнему можно осуществить с помощью обращения к двум каталогам: в узле создания и в том узле, где объект находится в настоящий момент. Недостаток подобной схемы заключается в том, что при сбое в узле создания объект обнаружить невозможно.