Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Централизованное блокирование
При централизованном блокировании для всей распределенной базы данных поддерживается единая таблица блокировок. Эта таблица, располагаемая в одном из узлов, находится под управлением единого менеджера блокировок. Менеджер блокировок отвечает за установку и снятие блокировок от имени транзакций. Поскольку управление всеми блокировками сосредоточено на одном узле, то оно аналогично централизованному управлению одновременным доступом. Проблемы централизованного блокирования: · центральный узел может стать узким местом: как из-за большого объема обработки данных, так и из-за генерируемого вокруг него интенсивного сетевого трафика; · надежность такой системы ограничена, поскольку отказ или недоступность центрального узла приводит к выходу из строя всей системы. Блокирование первичных копий Блокирование первичных копий – это алгоритм управления одновременным доступом, применяемый для баз данных с репликациями, где копии одних и тех же данных могут храниться в нескольких узлах. Одна из таких копий определяется как первичная копия, и для доступа к любому элементу данных необходимо установить блокировку на его первичную копию. Множество первичных копий элементов данных известно всем узлам распределенной системы, и запросы транзакций на блокирование направляются в узлы, где хранятся первичные копии. Если в распределенной базе данных репликации не используются, то данный алгоритм сводится к алгоритму распределенного блокирования. Распределенное блокирование Распределенное блокирование предполагает распределение обязанностей по управлению блокировками между всеми узлами системы. Для выполнения транзакции необходимо участие и взаимная координация менеджеров блокировок в нескольких узлах. Блокировки устанавливаются во всех узлах, данные которых участвуют в транзакции. Алгоритмам распределенного блокирования не свойственны издержки механизма централизованного блокирования, связанные с перегруженностью центрального узла. Однако алгоритмы этого типа сложнее, а коммуникационные затраты, необходимые для установки всех требуемых блокировок, выше. Общий побочный эффект всех алгоритмов управления одновременным доступом посредством блокирования – возможность тупиковых ситуаций.
Тупиком называется ситуация, при которой каждая из двух транзакций ожидает снятия блокировки данных другой транзакции. Задача обнаружения и преодоления тупиков особенно сложна в распределенных системах. Тем не менее, благодаря относительной простоте и эффективности алгоритмов блокирования, они имеют значительно большую популярность, чем альтернативные алгоритмы, основанные на временных метках, а также алгоритмы оптимистического управления одновременным доступом. Метки времени Каждой транзакции присваивается глобальная уникальная метка времени. Значение метки времени явно определяет порядок, в котором транзакции предоставляются СУБД. Метки времени должны обладать двумя свойствами: 1. Уникальностью. Гарантирует отсутствие одинаковых значений меток времени. 2. Монотонностью. Гарантирует, что значение метки времени всегда возрастает. Все операции БД в рамках данной транзакции должны иметь одну и ту же метку времени. СУБД выполняет конфликтующие операции в порядке меток времени, что гарантирует их последовательное выполнение. Когда две транзакции конфликтуют, одна из них останавливается, откатывается, снова планируется на запуск и ей присваивается новая метка времени. Недостаток использования меток времени в том, что каждое значение метки времени, хранящееся в базе данных, требует двух дополнительных полей – одно для хранения метки времени последнего считывания поля. А другое – для последнего обновления. Следовательно, метки времени требуют увеличения памяти и приводят к увеличению дополнительных расходов. Оптимистические методы Оптимистические подходы исходят из предположения о том, что конфликты между транзакциями редки, и доводят транзакцию до конца, а затем производят проверку корректности. Если выясняется, что фиксация данной транзакции повлечет нарушение сериализуемости, то транзакция откатывается и запускается снова. При оптимистическом подходе каждая транзакция проходит две или три фазы: чтение, подтверждение, и запись.
15. Надежность системы. Протоколы обеспечения надежности.
Надежность ИС – способность ИС выполнять функции, сохраняя эксплуатационные показатели в установленных пределах в течение заданного интервала времени при заданных условиях функционирования. Надежность системы характеризуется потоком отказов и сбоев в работе системы. Отказы выявляются тестированием технических и программных средств и устраняются во время проведения ремонтно-профилактических работ. Устранение отказов достигается путем восстановления работоспособности неисправных элементов системы (ремонта) или замены их резервными элементами. Сбои в работе технических и программных средств приводят к появлению ошибок в выходной информации и увеличивают продолжительность решения задач, поскольку требуют включения в технологический процесс обработки информации не только основных технологических операций, но и операций контроля и исправления ошибок. Однако это входит в противоречие с проблемой целостности данных, для решения которой необходимо синхронное и согласованное изменение данных в нескольких локальных базах данных, составляющих РаБД. В распределенной СУБД различаются четыре типа сбоев: 1. сбой транзакции, 2. сбой узла (системы), 3. сбой носителя (диска), 4. сбой коммуникационной линии. Сбой транзакции Причин сбоев транзакции может быть несколько: § ошибки, вызванные неверными входными данными, § обнаружение возникшего или возможного тупика. Обычный способ обработки таких сбоев заключается в том, чтобы прервать транзакцию и откатить базу данных к состоянию, предшествовавшему началу транзакции. Сбой узла Cбои узлов (системные сбои) могут быть вызваны: · аппаратными отказами (процессора, оперативной памяти, питания), · программными ошибками (в системном или прикладном коде). Следствие системных сбоев – потеря содержимого оперативной памяти, в частности буферов оперативной памяти (часть базы данных, хранимая в буферах, называется неустойчивой базой данных). В распределенной базе данных проблема системных сбоев выражается еще и в том, что отказавший узел не может участвовать в транзакциях. Сбой носителя Сбои носителей связаны с отказами устройств внешней памяти, на которых хранится стабильная база данных. Обычно эта проблема решается путем применения дуплексных устройств и поддержания архивных копий базы данных.
Рассмотренные выше три типа сбоев характерны и для централизованных, и для распределенных СУБД. Сбой коммуникационной линии Коммуникационные сбои являются специфической проблемой распределенных баз данных. Коммуникационные сбои подразделяются на: · ошибки в сообщениях, · нарушение упорядоченности сообщений, · потерянные (недоставленные) сообщения, · повреждения на линиях связи Первые из двух типов сбоев находятся в компетенции сетевых протоколов, два последних лежат в ведении СУБД и должны учитываться в протоколах обеспечения надежности. Если один узел ожидает сообщения от другого, а оно не поступает, то причин тому может быть несколько: · сообщение утрачено; · возникло повреждение на линии связи; · узел, от которого ожидается сообщение, отказал. В любом случае ожидающий узел по истечении определенного промежутка времени просто решает, что узел-партнер стал недоступен. Последствием повреждений на линиях связи может стать фрагментация сети, когда множество узлов распадается на группы, внутри которых имеется связь, а коммуникации между группами невозможны. Протоколы распределенных СУБД должны уметь адекватно реагировать на подобные ситуации.
|
||||||
Последнее изменение этой страницы: 2017-01-19; просмотров: 193; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.17.150.163 (0.011 с.) |