Тема_9 (1122360)
Текст из файла
Методы управления транзакциями.Сихронизационные блокировки,временные метки и версииС.Д. Кузнецов. Базы данных. Тема 903.12.2009С.Д.Кузнецов. Базы данныхУправление транзакциями1План (1)ВведениеОбщее понятие транзакции и основныехарактеристики транзакцийАтомарность транзакцийТранзакции и целостность баз данныхИзолированность транзакцийСериализация транзакций03.12.2009С.Д.Кузнецов. Базы данных2УправлениПлан (2)Методы сериализации транзакцийСинхронизационные блокировкиСинхронизационные тупики, их распознаваниеи разрушениеМетод временных метокМетоды сериализации транзакций на основеподдержки версий объектов базы данныхЗаключение03.12.2009С.Д.Кузнецов. Базы данных3УправлениВведениеПоддержка механизма транзакций – показательуровня развитости СУБДКорректное поддержание транзакций являетсяосновой обеспечения целостности баз данныхпоэтому транзакции вполне уместны и воднопользовательских персональных СУБДСоставляют базис изолированностипользователей в многопользовательскихсистемахЭти два аспекта взаимосвязаны, что и будетпоказано в этой лекции03.12.2009С.Д.Кузнецов.
Базы данных4УправлениОбщее понятие транзакции и основныехарактеристики транзакций (1)В современных СУБД поддерживается понятиетранзакции, характеризуемое аббревиатуройACIDAtomicyConsistencyIsolationDurabilityВ соответствии с этим понятием под транзакциейразумеется последовательность операций надбазой данных, обладающая следующимисвойствами03.12.2009С.Д.Кузнецов.
Базы данных5УправлениОбщее понятие транзакции и основныехарактеристики транзакций (2)Атомарность (Atomicy)Результаты всех операций, успешно выполненных впределах транзакции, должны бытьooотражены в состоянии базы данных,либо в состоянии базы данных не должно быть отраженодействие ни одной операции•Свойство атомарности,oречь идет об операциях, изменяющих состояние базы данныхкоторое часто называют свойством “все или ничего”позволяет относиться к транзакции, как к динамическиобразуемой составной операции над базой данныхoв общем случае состав и порядок выполнения операций,выполняемых внутри транзакции, становится известнымтолько на стадии выполнения03.12.2009С.Д.Кузнецов.
Базы данных6УправлениОбщее понятие транзакции и основныехарактеристики транзакций (3)Согласованность (Consistency)В классическом смысле это свойство означает, что транзакцияможет быть успешно завершена с фиксацией результатов своихопераций только в том случае, когда действия операций ненарушают целостность базы данныхт.е.
удовлетворяют набору ограничений целостности, определенныхдля этой базы данныхЭто свойство расширяется тем, что во время выполнениятранзакции разрешается устанавливать точки согласованности иявным образом проверять ограничения целостности.В контексте баз данных термины согласованность и целостностьэквивалентныЕдинственным критерием согласованности данных является ихудовлетворение ограничениям целостностиoт.е. база данных находится в согласованном состоянии тогда и только тогда,когда она находится в целостном состоянии03.12.2009С.Д.Кузнецов. Базы данных7УправлениОбщее понятие транзакции и основныехарактеристики транзакций (4)Изоляция (Isolation)Требуется, чтобы две одновременно(concurrently)параллельно или квазипараллельновыполняемые транзакции никоим образом недействовали одна на другуюРезультаты выполнения операций транзакции T1не должны быть видны никакой другойтранзакции T2 до тех пор, пока транзакция T1 незавершится успешным образом03.12.2009С.Д.Кузнецов. Базы данных8УправлениОбщее понятие транзакции и основныехарактеристики транзакций (5)Долговечность (Durability)После успешного завершения транзакции всеизменения,должны гарантированно сохраняться,которые были внесены в состояние базы данныхоперациями этой транзакции,даже в случае сбоев аппаратуры или программногообеспеченияЭтому аспекту транзакционных системпосвящается следующая лекцияЭти свойства особенно важны длямногопользовательских систем03.12.2009С.Д.Кузнецов.
Базы данных9УправлениОбщее понятие транзакции и основные характеристикитранзакций (6) Атомарность транзакций (1)В этом смысле под транзакциейпонимается неделимая с точки зрениявоздействия на БД последовательностьоператоров манипулирования данными(чтения, удаления, вставки, модификации),такая, чтолибо результаты всех операторов, входящих втранзакцию, отображаются в состоянии базыданных,либо воздействие всех этих операторовполностью отсутствует03.12.2009С.Д.Кузнецов. Базы данных10УправлениОбщее понятие транзакции и основные характеристикитранзакций (7) Атомарность транзакций (2)Лозунгом транзакции является «Все или ничего»: при завершении транзакции оператором COMMIToрезультаты гарантированно фиксируются во внешней памятиoвысокоуровневый аналог операции RESTORE в интерфейсе RSSрезультаты гарантированно отсутствуют во внешней памятиoсмысл термина commit состоит в запросе «фиксации»результатов транзакциипри завершении транзакции оператором ROLLBACKo(высокоуровневый аналог операции END TRANSACTION винтерфейсе RSS, см.
лекцию 12)смысл термина rollback состоит в запросе ликвидациирезультатов транзакцииКаким образом в СУБД поддерживаются индивидуальныеоткаты транзакций, описывается в следующей03.12.2009С.Д.Кузнецов. Базы данных11УправлениОбщее понятие транзакции и основные характеристикитранзакций (8) Транзакции и целостность баз данных (1)Понятие транзакции имеет непосредственную связь с понятиемцелостности базы данныхЧасто база данных может обладать такими ограничениями целостности,которые просто невозможно не нарушить, выполняя только один операторизменения базы данныхНапример, в базе данных СЛУЖАЩИЕ-ОТДЕЛЫ естественнымограничением целостности является совпадение значения атрибутаОТД_РАЗМЕР в кортеже таблицы ОТДЕЛЫ, описывающей данный отделс числом кортежей таблицы СЛУЖАЩИЕ, таких, что значение поляСЛУ_ОТД_НОМЕР равно 625Как в этом случае принять на работу в отдел 625 нового сотрудника?Независимо от того, какая операция будет выполнена первой,вставка нового кортежа в таблице СОТРУДНИКИили(например, отдел 625),модификация существующего кортежа в отношении ОТДЕЛЫ,после выполнения операции база данных окажется в нецелостномсостоянии03.12.2009С.Д.Кузнецов.
Базы данных12УправлениОбщее понятие транзакции и основные характеристикитранзакций (9) Транзакции и целостность баз данных (2)Для поддержки подобных ограничений целостности допускается ихнарушение внутри транзакции с тем условием, чтобыВ системах с развитыми средствами ограничения и контроляцелостности каждая транзакцияначинается при целостном состоянии базы данныхи должна оставить это состояние целостными после своего завершенияНесоблюдение этого условия приводит к тому, что вместофиксации результатов транзакции происходит ее откатк моменту завершения транзакции условия целостности былисоблюденыт.е.
вместо оператора COMMIT выполняется оператор ROLLBACK, ибаза данных остается в таком состоянии, в котором находилась кмоменту начала транзакции,т.е. в целостном состоянии03.12.2009С.Д.Кузнецов. Базы данных13УправлениОбщее понятие транзакции и основные характеристикитранзакций (10) Транзакции и целостность баз данных (3)Более точно, различаются два вида ограничений целостности:К немедленно проверяемым ограничениям целостности относятся такиеограничения, проверку которых бессмысленно или даже невозможнооткладывать.Примером ограничения, проверку которого откладывать бессмысленно,являются ограничения доменанапример, возраст сотрудника не может превышать 150 летБолее сложным ограничением, проверку которого невозможно отложить,является следующее:немедленно проверяемые иоткладываемые.зарплата сотрудника не может быть увеличена за одну операцию более чем на100000 рублей.Немедленно проверяемые ограничения целостности соответствуют уровнюотдельных операторов языкового уровня СУБДПри их нарушениях не производится откат транзакции, а лишь отвергаетсясоответствующий оператор03.12.2009С.Д.Кузнецов.
Базы данных14УправлениОбщее понятие транзакции и основные характеристикитранзакций (11) Транзакции и целостность баз данных (4)Откладываемые ограничения целостности – это ограниченияна базу данных, а не на какие-либо отдельные операцииПо умолчанию такие ограничения проверяются при концетранзакции, и их нарушение вызывает автоматическуюзамену оператора COMMIT на оператор ROLLBACKОднако в некоторых системах поддерживается специальныйоператор насильственной проверки ограниченийцелостности внутри транзакцииЕсли после выполнения такого оператора обнаруживается,что условия целостности не выполнены, пользователь может сам выполнить оператор ROLLBACK с откатом транзакции доее начала или до установленной ранее точки сохранения или постараться устранить причины нецелостного состояниябазы данных внутри транзакцииoвидимо, это осмысленно только при использованииинтерактивного режима работы03.12.2009С.Д.Кузнецов.
Базы данных15УправлениОбщее понятие транзакции и основные характеристикитранзакций (12) Транзакции и целостность баз данных (5)Заметим, что концептуально в момент завершениятранзакции проверяются все откладываемые ограниченияцелостности, определенные в этой базе данныхОднако в реализации стремятся при выполнении транзакциидинамически выделить те ограничения целостности, которыедействительно могли бы быть нарушеныНапример, если при выполнении транзакции над базойданных СЛУЖАЩИЕ-ОТДЕЛЫ в ней не выполнялисьоператоры вставки или удаления кортежей из отношенияСЛУЖАЩИЕ, то проверять упоминавшееся вышеограничение целостности не требуется а для проверки подобных ограничений требуется достаточнобольшая работа03.12.2009С.Д.Кузнецов. Базы данных16УправлениОбщее понятие транзакции и основные характеристикитранзакций (13) Транзакции и целостность баз данных (6)Описанный механизм поддержки целостности баз данных обеспечиваеттребуемое свойство транзакций:никакая транзакция не может быть зафиксирована, если ее действиянарушили целостность базы данныхОднако в этом подходе имеются два серьезных дефектаВо-первых, если при выполнении транзакции не устанавливать точкисохранения и не проверять периодически соответствие текущего состояниябазы данныхограничениям целостности, тос точки зрения данной транзакциидолговременно выполняемая транзакция вполне вероятно может быть«откачена» системой при выполнении завершающего оператора COMMITЭто означает непроизводительный расход системных ресурсов и временипользователейВо-вторых, чем длиннее транзакция, модифицирующая состояние базыданных, тем потенциально больше ограничений целостности придетсяпроверять при ее завершении и тем накладнее становится операторCOMMIT03.12.2009С.Д.Кузнецов.
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.