эффективен, чем централизованный, но также требует высокой надежности
работы узла, в котором хранится глобальный каталог данных.
На практике перечисленные подходы не используются, в основном
применяется метод перманентных идентификаторов [ 2, 12 ]. Идея метода
заключается в том, что каждый объект базы данных имеет логическое имя (на
которое при работе ссылаются пользователи) и системное имя, включающее
идентификаторы узла, в котором был создан объект, и узла, в котором в данное
время хранится объект. После создания объекта его системное имя заносится в
каталоги данных всех других узлов.
В каталоге каждого узла хранятся сведения о каждом объекте, созданном или
хранимом в этом узле. Перемещения объекта базы данных между узлами
отслеживаются локальным каталогом узла, в котором был создан объект. Если
какому-нибудь узлу системы необходим этот объект, он предварительно
обращается к узлу, где объект был создан, и определяет по каталогу этого узла
новое место хранения объекта.
При совместной работе нескольких пользователей с общей информацией
могут применяться монопольный и коллективный методы доступа к
распределенным данным.
Монопольный доступ организуется с помощью полных блокировок,
реализуемых непосредственно СУБД или прикладными программами.
Монопольный доступ к данным обычно применяется при работе с
конфиденциальной информацией или при выполнении фундаментальных
преобразований БД (например, изменения ее структуры), когда требуется
полностью исключить работу с данными других пользователей [ 15 ].
В режиме коллективного доступа к данным полная блокировка не
допускается. Применяется механизм временных блокировок, ограничивающих
или запрещающих работу пользователя или приложения с объектами базы
данных, когда эти объекты используются другими пользователем или
приложением. Например, если реплицированные данные изменяются в одном
узле системы, в других узлах они блокируются. После фиксации сделанных
обновлений в узле, где они были выполнены, другие узлы пытаются изменить
свои реплицированные данные и зафиксировать полученные результаты. Данные
в исходном узле остаются заблокированными до тех пор, пока обновления не
будут зафиксированы во всех узлах. Если в одном или нескольких узлах
реализовать обновления данных не удалось, производится отмена (откат)
выполненных действий в масштабах всей системы.