Распределенные базы данных. Стратегия распределения данных. - Базы данных
С управлением данными в распределенных системах связаны следующие две группы проблем: поддержка соответствия базы данных вносимым изменениям и обеспечение совместного доступа нескольких пользователей к общим данным.
В современных распределенных системах информация может храниться централизовано и децентрализовано. В первом случае проблемы идентичности представления информации для всех пользователей не существует, так как все последние изменения хранятся в одном месте. На практике чаще информация изменяется одновременно в нескольких узлах распределенной вычислительной системы. В этом случае возникает проблема контроля за всеми изменениями информации и предоставления ее в достоверном виде всем пользователям.
Существуют две основные технологии децентрализованного управления базой данных: распределенных баз данных (Distributed Database) и тиражирования, или репликации, база данных (Data Replication).
Распределенная база данных состоит из нескольких фрагментов, размещенных на разных узлах сети и, возможно, управляемых разными СУБД. С точки зрения программ и пользователей, обращающихся к распределенной базе данных, последняя воспринимается как единая локальная база данных (рис. 3).
Информация о местоположении каждой из частей распределенной базы данных и другая служебная информация хранится в так называемом глобальном словаре данных. В общем случае этот словарь может храниться на одном из узлов или тоже быть распределенным.
Для обеспечения корректного доступа к распределенной базе данных в современных системах чаще всего применяется протокол (метод) двухфазной фиксации транзакций (two-phase commit). Суть этого метода состоит в двухэтапной синхронизации выполняемых изменений на всех задействованных узлах. На первом этапе в узлах сети производятся изменения (пока обратимые) в их базе данных, о чем посылаются уведомления компоненту системы, управляющему обработкой распределенных транзакций.
19

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

Рис. 4. Модель тиражирования БД
К основным достоинствам модели тиражирования баз данных (в сравнении с предыдущей моделью) относятся: более высокая скорость доступа к данным, так как они всегда есть в узле; существенное уменьшение передаваемого по каналам связи потока информации, поскольку происходит передача не всех операций доступа к данным, а только изменений в базе данных; повышение надежности механизмов доступа к распределенным данным, поскольку нарушение связи не приводит к потере работоспособности системы (предполагается буферизация потока изменений, позволяющая корректно возобновить работу после восстановления связи).
Основной недостаток модели тиражирования баз данных заключается в том, что на некотором интервале времени возможно "расхождение" копий баз данных. Если отмеченный недостаток некритичен для прикладных задач, то предпочтительно иметь схему с тиражированием баз данных.
При обслуживании обращений к общим данным средства управления базы данных должны обеспечивать, по крайней мере, два основных метода доступа: монопольный и коллективный. Основными объектами доступа в различных системах могут быть целиком база данных, отдельные таблицы, записи, поля записей. В СУБД, предоставляющих возможность разработки, объектами доступа также могут выступать спецификации отчетов и экранных форм, запросы и программы.
Монопольный доступ обычно используется в двух случаях:
- - во-первых, когда требуется исключить доступ к объектам со стороны других пользователей (например, при работе с конфиденциальной информацией); - во-вторых, когда производятся ответственные операции с базами данных, не допускающие других действий, например, изменение структуры базы данных.
В первом случае пользователь с помощью диалоговых средств СУБД или прикладной программы устанавливает явную блокировку. Во втором случае пользователь тоже может установить явную блокировку, либо положиться на СУБД. Последняя обычно автоматически устанавливает неявную (без ведома пользователя или приложения) блокировку, если это необходимо.
В режиме коллективного доступа полная блокировка на используемые объекты, как правило, не устанавливается. Коллективный доступ возможен, например, при одновременном просмотре страниц. Попытки получить монопольный доступ к объектам коллективного доступа должны быть пресечены. Например, в ситуации, когда один или несколько пользователей просматривают таблицу, а другой пользователь собирается удалить эту же таблицу.
Для организации коллективного доступа в СУБД применяется механизм блокировок. Суть блокировки состоит в том, что на время выполнения какой-либо операции в базе данных доступ к используемому объекту со стороны других потребителей временно запрещается или ограничивается. Например, при копировании таблицы она блокируется от изменения, хотя и разрешено просматривать ее содержимое.
Рассмотрим некоторый типичный набор блокировок. В конкретных программах схемы блокирования объектов могут отличаться от описываемой. Выделим 4 вида блокировок, перечисленные в порядке убывания строгости ограничений на возможные действия:
- - полная блокировка; - блокировка от записи; - предохраняющая блокировка от записи; - предохраняющая полная блокировка.
Полная группировка. Означает полное запрещение всяких операций над основными объектами (таблицами, отчетами, экранными формами). Этот вид блокировки обычно применяется при изменении структуры таблицы.
Блокировка от записи. Накладывается в случаях, когда можно использовать таблицу, но без изменения ее структуры или содержимого. Такая блокировка применяется, например, при выполнении операции слияния данных из двух таблиц.
Предохраняющая блокировка от записи. Предохраняет объект от наложения на него со стороны других операций полной блокировки, либо блокировки от записи. Этот вид блокировки позволяет тому, кто раньше "захватил" объект, успешно завершить модификацию объекта. Предохраняющая блокировка от записи совместима с аналогичной блокировкой (предохраняющей блокировкой от записи), а также с предохраняющей полной блокировкой. Примером необходимости использования этой блокировки является режим совместного редактирования таблицы несколькими пользователями.
Предохраняющая полная блокировка. Предохраняет объект от наложения на него со стороны других операций только полной блокировки. Обеспечивает максимальный уровень совместного использования объектов. Такая блокировка может использоваться, например, для обеспечения одновременного просмотра несколькими пользователями одной таблицы. В группе пользователей, работающих с одной таблицей, эта блокировка не позволит никому изменить структуру общей таблицы.
При незавершенной операции с некоторым объектом и запросе на выполнение новой операции с этим же объектом производится попытка эти операции совместить. Совмещение возможно тогда, когда совместимыми оказываются блокировки, накладываемые конкурирующими операциями.
В отношении перечисленных выше четырех блокировок действуют следующие правила совмещения:
- - при наличии полной блокировки над объектом нельзя производить операции, приводящие хотя бы к одному из видов блокировок (полная блокировка несовместима ни с какой другой блокировкой); - блокировка от записи совместима с аналогичной блокировкой и предохраняющей полной блокировкой; - предохраняющая полная блокировка совместима со всеми блокировками, кроме полной.
Обычно в СУБД каждой из выполняемых с базой данных операций соответствует определенный вид блокировки, которую эта операция накладывает на объект. Пользователям современных СУБД, работающим в интерактивном режиме, не нужно помнить все тонкости механизма блокировки, поскольку система достаточно "разумно" осуществляет автоматическое блокирование во всех случаях, когда это требуется. При этом система сама стремится предоставить всем пользователям наиболее свободный доступ к объектам. При необходимости пользователь и программист может воспользоваться командными или языковыми средствами явного определения группировок. Например, в СУБД Paradox для явного блокирования отдельной записи во время редактирования таблицы используется команда Record / Lock.
Если не управлять доступом к совместно используемым объектам, то между потребителями ресурсов могут возникать тупиковые ситуации (клинчи, "смертельные объятия" или блокировки). Следует отличать понятие блокировки в смысле контроля доступа к объектам от блокировки в смысле тупикового события.
Существует два основных вида тупиков: взаимные (deadlock) и односторонние (livelock).
Простейшим случаем взаимного тупика является ситуация, когда каждый из двух пользователей стремится захватить данные, уже захваченные другим пользователем (рис. 5а). В этой ситуации пользователь-1 ждет освобождения ресурса N, в то время как пользователь-2 ожидает освобождения от захвата ресурса М. Следовательно, никто из них не может продолжить работу.
19

А) б)
Рис. 5. Примеры взаимных тупиков в распределенных базах данных
В действительности могут возникать и более сложные ситуации, когда выполняются обращения трех и более пользователей к нескольким ресурсам. Пример одной из таких ситуаций приведен на рис. 5б.
Односторонний тупик возникает в случае требования получить монопольный доступ к некоторому ресурсу, как только он станет доступным и невозможности удовлетворить это требование.
Системы управления распределенными базами данных, очевидно, должны иметь соответствующие средства обнаружения или предотвращения конфликтов, а также разрешения возникающих конфликтов. Одной из наиболее сложных является задача устранения конфликтов в неоднородных системах в случае, если некоторая программа не обрабатывает или обрабатывает некорректно сигналы (уведомления) о наличии конфликтов. При этом важно не только сохранить целостность и достоверность данных в распределенных базах данных, но и восстановить вычислительный процесс, иногда парализующий пользователей и программы ожиданием чего-то.
Пользователи и разработчики приложений в распределенной среде должны предусматривать обработку сигналов о тупиках.
Похожие статьи
-
Распределенная обработка данных - Банки и базы данных. Системы управления базами данных
В современных условиях работа пользователя с небольшой по объему БД, расположенной на одном компьютере, в монопольном режиме является нехарактерной....
-
Распределенные базы данных - Теоретические основы информационных технологий
Системы распределенных вычислений появляются, прежде всего, по той причине, что в крупных автоматизированных информационных системах, построенных на...
-
И программа, и базы данных расположены на одном компьютере. В такой архитектуре работает большинство настольных приложений. Файл - серверная архитектура...
-
Программная модель данных, получившая название "MapReduce", была создана несколько лет назад в компании Google, и там же была осуществлена первая...
-
Технологии объектного связывания данных - Теоретические основы информационных технологий
Унификация взаимодействия прикладных компонентов с ядром информационных систем в виде SQL-серверов, наработанная для клиент-серверных систем, позволила...
-
"Базы данных и СУБД", Понятие банка данных, базы данных и СУБД - Базы данных и СУБД
Понятие банка данных, базы данных и СУБД Существует множество различных систем управления базами данных, именуемые в последующем "СУБД", такие как: IMS,...
-
Выбор программ и алгоритмы реализации базы данных - База данных "Кинотеатр"
Microsoft Office Access - мощное приложение Windows. При этом производительность СУБД органично сочетаются со всеми удобствами и преимуществами Windows....
-
Основные понятия баз данных. Цели использования баз данных - Разработка базы данных
В широком смысле слова база данных (БД) - это совокупность сведений о конкретных объектах реального мира в какой-либо предметной области. Для удобной...
-
Классификация баз данных - Виды и возможности СУБД
Многообразие характеристик и видов баз данных порождает многообразие классификации. Рассмотрим основные виды классификации. По технологии обработки...
-
Теоретические аспекты СУБД, Основные понятия баз данных - Виды и возможности СУБД
Основные понятия баз данных В настоящее время жизнь человека настолько насыщена различного рода информацией, что для ее обработки требуется создание...
-
Обоснование выбора СУБД База данных - это совокупность сведений о реальных объектах, процессах, событиях или явлениях, относящихся к определенной теме...
-
Защита информации в БД - Банки и базы данных. Системы управления базами данных
Целью защиты информации является обеспечение безопасности ее хранения и обрабатывания. Процесс построения эффективной защиты начинается на начальных...
-
При заполнения каждой ячейки таблицы распределения исходов сравнения двух рук нам необходимо перебрать все возможные варианты общих карт. Таким образом...
-
Теоретические предпосылки исследования Системы поддержки принятия решений Системы поддержки принятия решений (СППР), представляют собой приложения узкого...
-
Базы данных - Система управления базами данных
Предметная область АИС "материализуется" в форме, хранимой в памяти ЭВМ структурированной совокупности данных, которые характеризуют состав объектов...
-
Модели транзакций - Банки и базы данных. Системы управления базами данных
Под транзакциями понимаются действия, производимые над базой данных и переводящие ее из одного согласованного состояния в другое согласованное состояние....
-
Технология создания баз данных в программе Microsoft Access
Введение Базы данных играют особую роль в современном мире. Любой из нас многократно начиная с детства, сталкивался с "базами данных". Это - всевозможные...
-
Инфологические и даталогические модели данных - Теория экономических информационных систем
СУБД должна предоставлять доступ к данным любым пользователям, включая и тех, которые практически не имеют и (или) не хотят иметь представления о: -...
-
Второй этап истории развития БД. - Технология создания и управления баз данных
Второй этап - эпоха персональных компьютеров Персональные компьютеры стремительно ворвались в нашу жизнь и буквально перевернули наше представление о...
-
Даталогическое проектирование - Банки и базы данных. Системы управления базами данных
Даталогической моделью БД называется модель логического уровня, построенная в рамках конкретной СУБД, в среде которой проектируется БД. Описание...
-
Записи, множества, файлы - Структуры данных
Обобщением массива является комбинированный тип данных - запись, являющаяся неоднородной упорядоченной статической структурой прямого доступа. Запись...
-
Построение ER диаграмм - Модернизация структуры базы данных на основе анализа требований предприятия
При построении моделей информационных систем важнейшей методикой является ER-моделирование или построение диаграмм сущность-связь. Сущность представляет...
-
Регистрация нового пользователя в системе возможна двумя способоами: 1) Самостоятельная регистрация пользователя; 2) Регистрация пользователя...
-
ИЕРАРХИЧЕСКАЯ МОДЕЛЬ ДАННЫХ ИМД основана на понятии деревьев, состоящих из вершин и ребер. Вершине дерева ставится в соответствие совокупности атрибутов...
-
Физические модели хранения данных определяют методы размещения данных в памяти компьютера или на соответствующих носителях информации, а также способы...
-
Назначение и функции программной системы Разработанная база данных "Библиотека" предназначена для использования в учреждениях библиотек. Основной...
-
Организация парольной защиты - Проектирование и разработка базы данных "Прокат автомобилей"
По мере того как деятельность организаций все больше зависит от компьютерных информационных технологий, проблемы защиты баз данных становятся все более...
-
Этапы проектирования и создания БД - Система управления базами данных
При разработке БД можно выделить следующие этапы работы. I этап. Постановка задачи. На этом этапе формируется задание по созданию БД. В нем подробно...
-
Технологии распределенных вычислений (РВ) Современное производство требует высоких скоростей обработки информации, удобных форм ее хранения и передачи....
-
Наиболее распространенная форма - ЭВМ. Раньше чаще использовались вычислительные центры (ВЦ). Вычислительный центр - организуется и специализируется на...
-
Типы записей в базе данных DNS-сервера - Компьютерные сети
DNS-сервер, отвечающий за имена хостов в своей зоне, должен хранить информацию о хостах в базе данных и выдавать ее по запросу с удаленных компьютеров....
-
Система управления БД - Система управления базами данных
Система управления базами данных - комплекс символьных и программных средств, предназначенных для создания, ведения и совместного доступа к БД. Первые...
-
Необходимость защиты информации от внутренних угроз была очевидна на всех этапах развития средств информационной безопасности. Однако первоначально...
-
Этапы проектирования базы данных - Автоматизация процесса работы руководства ООО "Сервис партнер"
Основная цель проектирования БД заключается в том, чтобы обеспечить пользователя более точными данными, полностью удовлетворяющими их информационные...
-
Физические модели БД - Банки и базы данных. Системы управления базами данных
Под физической моделью БД понимается способ размещения данных на устройствах внешней памяти и способ доступа к этим данным. Каждая СУБД по-разному...
-
Система мониторинга социальных сетей предоставляет исследователю возможность собрать интересующие его упоминания в социальных сетях по какой-либо...
-
Настройка и администрирование СУБД - Банки и базы данных. Системы управления базами данных
Для успешного функционирования разработанной ИС недостаточно выбора СУБД и сервера БД. В процессе эксплуатации всегда на разных этапах приходится...
-
Целостность БД - Банки и базы данных. Системы управления базами данных
Банк база данный case технология Понятие целостности является одним из основополагающих в теории БД. Любая БД содержит в себе информацию об объектах...
-
Для разработки базы данных применим инструмент "Management Studio" входящий в состав СУБД "MS SQL Server". Этот инструмент позволяет создавать новые базы...
-
Архитектура построения баз данных - Разработка базы данных
СУБД имеют свою архитектуру. В процессе разработки и совершенствования СУБД предлагались различные архитектуры, но самой удачной оказалась трехуровневая...
Распределенные базы данных. Стратегия распределения данных. - Базы данных