Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Транзакции в базах данных. Управление транзакциями (конфликты, блокировка, сериализация).




Транзакция – это логическая ед-ца работы (единица пользовательской активности по отношению к БД), посл-ть операций изменения БД, воспринимаемое СУБД как атомарное действие и используемая д/ целостности БД. Это преобразование одного ЦС в другое ЦС. При выполнении транзакции БД в нецелостном состоянии. Поддержка механизма транзакций обязательное условие д/ одно- и много- пользовательских СУБД.

Свойства транзакции: атомарность (неделимая, выполняется все или ничего), согласованность (транзакции переводят одно согласованное состояние БД в другое без обязательной поддержки согласованности во всех промежуточных точках), изоляция (транзакции отделены 1 от другой, т. е. если запущено мн-во конкурирующих д/д транзаций, любое обновление определенной из них б. скрыто от остальных до тех пор, пока она выполняется), долговечность (когда транзакция выполнена, ее обновление сохраняется, даже если в следующий момент произойдет сбой системы)

Транзакция начинается с выполнения оператора begin transaction и заканчивается - commit (фиксируется новое ЦС) или rollback (возвращается к предыдущему ЦС).

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

Механизм журнализации (запись об изменении объекта занесена в журнал до того, как б. выполнено и зафиксировано изменение объекта) н. д/ надежности хранения данных. tф – точка фиксации записи состояний; сбой – удаляется (не фиксируется в журнале). Т1 – сохранена полностью, Т2 – откат, Т3 – удалена, т.к. не зафиксирован в журнале.

Сериализ-ия Т:перемешивание запросов и операторов изменения БД, поступающих от разных Т. т.о., что рез-т выполнения всего набора б. эквив-н рез-ту из послед-ого выполнения.

Сущ-ет проблема многопользовательского режима (неск-ко Т работает с одними и теми же данными) – проблема параллелизма. Для борьбы сущ-ет мех-зм блокировок: жесткая X(эксклюзивная) – сохраняет до полного завершения транзакции; мягкая S– разрешает считывание, не разрешает запись. Блокировка накладываются на кортежи, отношения.

А t B
Re  
  Re
WR  
  WR

Получили что работа транзакции А вообще не существует. Транзакция В неверно прочитала данное. Решение: 1)мех-м приоритетов кто 1 начал, тот продолжает 2)построение сериального плана-синхронизационного (построить последовательно транзакции, но мах параллельно). Искать жертву (временные метки), к-рая обеспечит мах проведение транзакций. Протокол двухфазной фиксации (подготовительная фаза (адм-р дает указния обработчикам быть готовым), фаза фиксации (адм-р приказывает провести фиксацию)) используется в с-мах, позволяющие транзакциям взаимодействовать с многоуровневыми админист-ресурсами. Если одна транзакция – не удачна, то все откатываются.

А t B
RE  
WR  
  Re
  WR
откат  

 



Поделиться:

Дата добавления: 2015-04-18; просмотров: 72; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты