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

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

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

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

Управление транзакс/иями 15.14.Кип8 Н.Т., КоЬ|пзоп 1.Т. Оп Орйшййс Ме!Ьодз гог Сопсцггепсу Сон!го! й АСМ ТОПЯ. — )цпе, 198 !. — 6, № 2. Схемы блокировки рассматриваются как пессимистические в случае, когда делается предположение (худшее из возможных) о том, что все данные, необходимые для заданной транзакции, могут также потребоваться для параллельно выполняемой транзакции, а поэтому их следует заблокировать. В оптимистических схемах (или схемах сертификации или подтверждения) делается противоположное допущение о том, что такие конфликтные ситуации весьма маловероятны.

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

Предполагается, что оптимистические методы могут быть наиболее полезны в системах с большим количеством параллельных процессоров. (В [14.12), наоборот, утверждается, что оптимистические методы в общем случае на самом деле хуже методов блокировки в некоторых "горячих' ситуациях, т.е.

в ситуациях, когда объект данных обновляется очень часто и несколькими различными транзакциями. Более подробную информацию о методах, эффективных при работе в подобных ситуациях, можно найти в [15.15].) 15.15.0'Хе!! Р.Е. ТЬе Езсгозн Тгапзасйопа! Мегйод 1/ АСМ ТООБ. — ОесешЬег, 1986. — 11, № 4. Рассмотрим следующий весьма простой пример. Предположим, что в базе данных содержится объект данных ТС, представляющий "имеющуюся на руках наличность", и допустим, что почти каждая транзакция в системе обновляет данные в объекте ТС с некоторым уменьшением их значения (соответствующим некоторому текущему платежу). Объект ТС представляет собой пример "горячей точки", т.е. элемента базы данных, который используется большинством транзакций в системе.

Образно говоря, при традиционной блокировке "горячая точка*' может очень скоро превратиться в узкое место всей системы, а потому было бы весьма неразумно использовать традиционную блокировку в таких ситуациях. Если начальное значение ТС равно 10 миллионам долларов, а каждая отдельная транзакция приводит к ее уменьшению в среднем на 10 долларов, то в целом может быть выполнено около миллиона таких транзакций. Причем для этого потребовалось бы выполнить в произвольном порядке акало миллиона операций вычитания. В таком случае действительно вовсе нет необходимости в использовании традиционной блокировки для ТС.

Вместо этого достаточно убедиться, что текущее значение достаточно велико для успешного выполнения данной операции вычитания, а затем выполнить обновление значения. (Если выполнение такой транзакции не будет успешно завершено, то последнюю операцию вычитания следует отменить.) Глава 15. Параллельность 595 Метод депонирования применяется в ситуациях, подобных описанной выше, т.е.

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

Одним из примеров коммерческого продукта, в котором поддерживается данный метод, является информационная система 1М5 Гаяг Рагй фирмы !ВМ. Следует отметить, что этот метод может рассматриваться как особый случай оптимистического управления параллельностью (15.14) (обратнте внимание, однако, что именно специфичность, т.е. применение специальных операторов обновления, и является важнейшим условием). 15.16.Рарасйппггюц С. ТЬе ТЬеогу ог 1)агаЬазе Сопсштепсу Сопгго1. — йос!сч!!!е, Мг(:. Согпрцгег 5с!епсе Ргезз, 1986. Учебное пособие, в котором особое внимание уделяется формальной теории.

15.17.5а!еш К., Оагс!а-Мо!!па О., ЯЬапг!з 1. АИппзйс 1.оск!п8 д АСМ Т005. — МагсЬ, ! 994. — 19, № 1. В этой статье предлагается расширение протокола двухфазной блокировки, в соответствии с которым транзакция Т1, завершившая работу с заблокированным элементом данных (который не может быть разблокирован из-за ограничений протокола двухфазной блокировки), все же "возвращает'* этот элемент системе, тем самым позволяя некоторой транзакции Т2 установить для него блокировку.

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

Исходно : А = 0 Т1-Т2-ТЗ : А = 1 Т1-ТЗ-Т2 : А = 2 Т2-Т1-ТЗ ; А = 1 59б Чаепгь 1)г. управление транзакциями А= 2 А=4 А=З Т2-ТЗ-Т1 тЗ-т1-тг ТЗ-Т2-Т1 Конечно, не все шесть полученных результатов отличаются один от другого. Фактически в данном примере так получилось потому, что благодаря природе транзакции ТЗ возможные правильные результаты независимы от начального состояния базы данных.

б) Существует 90 возможных графиков запуска, отличных один от другого, которые можно представить в приведенном ниже символическом виде. (Здесь К1, НЗ, Кх обозначают операции извлечения К1, Н2, КЗ, причем необязательно в той же последовательности. Аналогично Вр, Вп, Вг обозначают операции обновления И, 02, 03, необязательно в той же последовательности.) К1-КЗ-й)г-Вр-Щ-Вг кт-НЗ-бр-Кк-09-бг КТ-КЗ-Вр-Вп-НК-Вг К1-Вр-КЗ-КК-Во-Вг К1-Вр-КЗ-09-КК-бг 2 * 1 = Зб вариантов 2 ' 1 = 24 вариантов 1 " 1 = 12 вариантов 2 * 1 = 12 вариантов 1 * 1 = б вариантов :3*2*1*3" :3*2*2Я1* :3*2*2*1* 3*1*2*1* ".

3'1*2*1' Всего = 90 вариантов 597 Глава 15. Параллельность в) Да. Например, график запуска К1-К2-КЗ-03-02-И приводит к тому же результату (единица) для заданного начального значения (нуль), что и два из шести возможных последовательных графиков запуска. (Упражнение. Проверьте зто утверждение.) Однако следует понимать, что "корректность" полученного результата является всего лишь счастливой случайностью и следствием того, что исходное значение было равно 0, а не какому-то другому числу. В качестве примера обратной ситуации рассмотрите случай, когда исходное значение равно 10. Будет ли показанный выше график запуска давать один из действительно корректных результатов? (Какими в этом случае будут действительно корректные результаты?) Если нет, то график запуска К1-К2-КЗ-03-02-01 не допускает упорядочения.

г) Да. Например, график запуска К1-КЗ-И-03-К2-02 является упорядоченным (он эквивалентен последовательному графику запуска Т1-Т2-ТЗ), но не может быть получен, если выполнение транзакций Т1, Тг и ТЗ подчиняется двухфазному протоколу блокировки. В этом случае для выполнения операции й3 потребуется установить Б-блокировку для элемента А с согласия транзакции ТЗ. Тогда операция И в транзакции Т1 не будет выполняться до тех пор, пока не будет снята блокировка, а это не произойдет до завершения выполнения транзакции ТЗ (действительно, при достижении операции 03 транзакции ТЗ и Т1 попадут в ситуацию взаимной блокировки).

Это упражнение прекрасно иллюстрирует следующий очень важный момент. Пусть для данного набора транзакций и начального состояния базы данных задано множество всех возможных графиков запуска (АББ), содержащих эти транзакции, множество всех графиков запуска (СОНКЕСТ), которые гарантированно приводят к 15.4. 15.5. 15.6. 15.9.

корректному финальному состоянию или, по крайней мере, могут привести к нему для некоторого начального состояния, множество всех допускающих упорядочивание графиков запуска (ВЕК1АЫЕАВЬЕ), а также множество всех графиков запуска (РКОРОС1ВЬЕ), которые приводят к корректному результату при использовании двухфазного протокола блокировки. Тогда в общем случае будет верно слелуюшее утверждение (здесь знак "<" обозначает "подмножество").

РКОРОС1ВЬЕ < ЯЕК1АР13АВЬЕ < СОККЕСТ < АРЬ В момент бл ни одна из транзакций не выполнит никакой полезной работы! Дело в том, что имеет место ситуация взаимной блокировки, включающая транзакции Т2, ТЗ, Т9 и Т8. Кроме того, транзакция Т4 находится в состоянии ожидания (ожидает) завершения выполнения транзакции Т9, транзакция Т12 ожидает завершения вы- полнения транзакции Т4, а транзакции Т10 и Т!1 ожидают завершения выполнения транзакции Т12. Эту ситуацию можно представить с помощью приведенного на рис. 15.14 графа ожидания, узлы которого представляют собой транзакции, а направленные от узла ТТ к узлу Т) ребра указывают на то, что транзакция ТТ находится в состоянии ожидания завершения выполнения транзакции Тз1 Возле стрелок размещены названия объектов базы данных с указанием в скобках уровня блокировки, в котором они находятся в состоянии ожидания.

Для задач, приведенных на рис. 15.1 — 15.3, уровень изоляции стабильности курсора обладает тем же эффектом, что и уровень повторяемости считывания (обратите внимание, однако, что для СУБД (зВ2 это утверждение не применимо к уровню стабильности курсора из-за того, что в этой СУБД вместо Б-блокировок используются 13-блокировки (4.201). Что касается проблемы несогласованной обработки данных (см.

рис. 15.4), то уровень изоляции стабильности курсора не позволяет разрешить эту проблему. Дело в том, что транзакция А должна выполняться на уровне повторяемости считывания для того, чтобы сохранить все свои блокировки до завершения выполнения транзакции, иначе будет получен неверный результат. (Конечно, если система поддерживает такой режим, то в качестве альтернативного варианта можно было бы с помощью транзакции А полностью заблокировать всю переменную-отношение счетов, установив некоторую явно заданную блокировку. Это решение можно было бы использовать как для уровня стабильности курсора, так и для уровня повторяемости чтения,) См, раздел 15.8.

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

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

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

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