Главная » Просмотр файлов » Введение в системы БД

Введение в системы БД (542480), страница 148

Файл №542480 Введение в системы БД (Введение в системы БД) 148 страницаВведение в системы БД (542480) страница 1482015-08-16СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 148)

Глава 15. Параллельность 581 Рис. 15.11. Матрица совместимости, расширенная блокировками намерения Теперь можно дать более точную формулировку протокола блокировки намерения. 1. Прежде чем некоторой транзакции будет разрешено сделать запрос на установку Б- блокировки для определенного кортежа, она должна установить либо ! Я- блокировку, либо блокировку более сильного типа для той переменной-отношения, в которой данный кортеж содержится.

2. Прежде чем некоторой транзакции будет разрешено сделать запрос на установку Х- блокировки для определенного кортежа, она должна установить либо ! Х- блокировку, либо блокировку более сильного типа (см. ниже) для той переменной- отношения, в которой данный кортеж содержится. (Однако следует отметить, что это все еще далеко не полное определение. Подробности можно найти в комментарии к 115.9).) Упомянутое в приведенном выше определении понятие относительной силы блакиравок можно пояснить с помощью диаграммы приоритетов, представленной на рис. 15.12.

Блокировка типа Ь2 называется более сильной (т.е, находится на диаграмме приоритета выше) по отношению к блокировке типа ЬЬ тогда и только тогда, когда в матрице совместимости лля любой конфликтной ситуации (1ч), отмеченной в некоторой строке столбца блокировки типа Ь1, пометка ()ч) присутствует в той же строке столбца блокировки типа Ь2 (см, рис, 15.! 1). Обратите внимание на то, что запрос установки блокировки, который отвергается некоторым типом блокировки, обязательно будет отвергнут и более сильным типом блокировки (таким образом, неявно подразумевается, что всегда можно использовать более сильные типы блокировки вместо того типа, который строго необходим в данном конкретном случае).

Обратите внимание, что ни Б-, ни 1Х-блокировки не являются более сильными по отношению одна к другой. Стоит отметить, что на практике блокировки уровня переменных-отношений, требуемые протоколом блокировки намерения, как правило, устаРис. !5.!2. Диаграмма приоритета навливаются неявным образом. Например, для различных типов блокировки транзакции, выполняющей только операции чтения, система может неявно установить !Я-блокировку для каждой переменной- отношения, к которой данная транзакция обращается. Однако для транзакции обновления, вероятно, потребуется установить уже !Х-блокнровки. Тем не менее в системе также должна быть предусмотрена возможность явной установки блокировок с помощью раз- 582 Часть 1К Управление транзакциями ного рода операторов блокировки (ЬОСК).

Это позволит транзакциям в случае необходимости явно устанавливать Я-, Х- и Б1Х-блокировки на уровне переменных-отношений. Например, подобный оператор явной установки блокировок поддерживается СУБД ОВ2 (хотя это и не требуется стандартом языка БОБ). Наконец, необходимо сделать замечание о методе эскалации блокировок, который реализован во многих системах и представляет собой попытку сбалансировать между собой противоположные требования: поддержки высокого уровня параллельности обработки и снижения накладных расходов на управление блокировками.

Основная идея заключается в том, что когда система достигает некоторого заранее заданного порога, она автоматически заменяет множество мелких блокировок одной крупной блокировкой. Например, множество отдельных Я-блокировок уровня кортежа могут быть заменены!Я- блокировкой той переменной-отношения, которой эти кортежи принадлежат. На практике такое решение часто оказывается весьма полезным. 15.9.

Средства языка $01 В стандарте языка Б Н. не прелусмотрена явная поддержка каких-либо функций блокировки (фактически понятие блокировки в нем вообще не упоминается). Однако реализация подобных средств необходима лля получения гарантий исключения конфликтных ситуаций между транзакциями, выполняющимися параллельно. Точнее говоря, требуется, чтобы обновления, выполняемые некоторой транзакцией Т1, не были доступны любой другой транзакции Т2 до тех и обязательно до тех пор, пока не будет завершено выполнение транзакции Т1. Фиксация транзакции открывает доступ ко всем обновлениям, выполненным данной транзакцией. Откат транзакции приводит к тому, что все выполненные ею обновления отменяются. Замечание. Сказанное выше относится к случаю, когда все транзакции выполняются на уровне изоляции КЕАО СОММ1ТТЕ0 (чтение зафиксированного), КЕРЕАТАВЬЕ КЕАВ (повторяемое чтение) и ЯЕК1АЬ12АВЬЕ (упорядочиваемость).

К транзакциям, выполняемым на уровне изоляции КЕА0 ОМСОММ1ТТЕ0 (чтение незафиксированного), применяются особые соглашения, допускающие "некорректное чтение" (об этом речь идет ниже), но только в режиме КЕА0 ОЫЬТ(только чтение); подробности приводятся в главе 14. Уровни изоляции В главе 14 уже упоминался оператор языка БОЬ ББТ ТКАМЯАСТ1ОМ, предназначенный для указания определенных характеристик запускаемой на выполнение транзакции, Одной из таких характеристик является уровень изоляции. Существуют следующие уровни изоляции: КЕА0 СОММ1ТТБ0 (чтение зафиксированного), КБРЕйТАВЬБ КЕА0 (повторяемое чтение) и ВБКТАЬТЕАВЬЕ (упорядочиваемость)ь. По умолчанию устанавливается уровень ЯЕК1АЬ12АВЬЕ, однако, если задан один из трех остальных уровней, при реализации всегда можно использовать более высокий уровень, где выражение "более высокий" подразумевает следующее соотношение уровней: ВЕК1АЬ1ЕАВЬЕ > КБРЕйТйВЬЕ КЕА0 > КЕА0 СОММ1ТТЕ0 > КЕй0 ОМСОММ1ТТЕ0, В В данном случае ключевое слово 5ЕВ1АЬ1ЕАВЬЕ является не совсем удачным, поскольку этот термин подразумевает упарядочиваемость графиков запуска а не транзакций.

Более удачным был бы вариант ТИО РНАЕЕ, который означает выполнение транзакции (возмолсно, принудительноез в соответствии с требованиями протокола двухфазной блокировки. 583 Глава 15. Параллельность Если все транзакции выполняются на уровне изоляции ЯЕЕ1АВ12АВВЕ (принимаемом по умолчанию), то график выполнения любого множества параллельных транзакций с чередованием нх операций будет гарантированно упорядоченным.

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

В результате транзакция Т1 считает два совершенно разных значения одной и той же строки. ° Чтение фантомов. Допустим, что транзакция Т1 считывает множество всех строк, удовлетворяющих некоторому заданному условию (например, строки всех поставщиков из Парижа). Допустим также, что транзакция Т2 вставляет в таблицу новую строку, которая удовлетворяет этому же условию.

Если транзакция Т1 вновь повторит ту же операцию выборки, что и раньше, то ею будет обнаружена ранее отсутствовавшая строка — "фантом" (р(запгош). Различные уровни изоляции определяются в терминах приведенных выше случаев нарушения упорядоченности. Соответствующие определения схематически представлены на рис. 15.! 3. Рис. !5.13. Уровни изоляиии языка ЯЯ1.

Возникает очевидный вопрос: "Каким же образом система сможет предотвратить появление фантомов?". Для этого в ней должна быть предусмотрена блокировка пути доступа к данным. Если в приведенном выше примере с поставщиками из Парижа путем доступа к данным служит индекс по городам поставщиков, то система должна будет заблокировать строку этого индекса, относящуюся к Парижу. Благодаря такой блокировке фантомы возникнуть не смогут, поскольку для их появления потребуется обратиться к данному пути доступа (т.е.

в приведенном примере — к конкретному значению индекса). Более подробно этот вопрос рассматривается в 114.121. В заключение следует повторить, что определения уровня изоляции ЕЕРЕАТАВВЕ АЕАС в стандарте языка ЯОЬ и в СУБД ПВ2 являются совершенно разными. На самом деле уровню ВЕРЕАТАВВЕ АЕАВ в СУБД ОВ2 соответствует уровень ЯЕА1Ы12АВВЕ в стандарте языка Б( ПЬ. 584 Часть |У. Управление транзакциями 15.10.

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

Характеристики

Тип файла
DJVU-файл
Размер
10,05 Mb
Тип материала
Предмет
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6384
Авторов
на СтудИзбе
308
Средний доход
с одного платного файла
Обучение Подробнее