Транзакции

Содержание

Слайд 2

Транзакцией называется последовательность операций, производимых над базой данных и переводящих базу данных

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

Максим А. Сопов

Слайд 3

Транзакция рассматривается как некоторое неделимое действие над базой данных, осмысленное с точки

Транзакция рассматривается как некоторое неделимое действие над базой данных, осмысленное с точки
зрения пользователя. В то же время это логическая единица работы системы.

Максим А. Сопов

Слайд 4

Только разработчик определяет, какая последовательность операций составляет единое целое, то есть транзакцию.

Только разработчик определяет, какая последовательность операций составляет единое целое, то есть транзакцию.
Разработчик приложений или хранимых процедур определяет это исходя из смысла обработки данных, именно семантика совокупности операций над базой данных, которая моделирует с точки зрения разработчика некоторую одну неразрывную работу, и составляет транзакцию.

Максим А. Сопов

Слайд 5

Свойство транзакций
Существуют различные модели транзакций, которые могут быть классифицированы на основании различных

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

Максим А. Сопов

Слайд 6

Выделяют следующие типы транзакций:
- плоские или классические транзакции;
- цепочечные транзакции и

Выделяют следующие типы транзакций: - плоские или классические транзакции; - цепочечные транзакции
вложенные транзакции.

Максим А. Сопов

Слайд 7

Плоские, или традиционные, транзакции, характеризуются четырьмя классическими свойствами: - атомарности,
- согласованности,
-

Плоские, или традиционные, транзакции, характеризуются четырьмя классическими свойствами: - атомарности, - согласованности,
изолированности,
- долговечности (прочности) :
— ACID (Atomicity, Consistency, Isolation, Durability).
Иногда традиционные транзакции называют ACID-транзакциями. 

Максим А. Сопов

Слайд 8

Свойство атомарности (Atomicity) выражается в том, что транзакция должна быть выполнена в целом

Свойство атомарности (Atomicity) выражается в том, что транзакция должна быть выполнена в
или не выполнена вовсе.
Свойство согласованности (Consistency) гарантирует, что по мере выполнения транзакций данные переходят из одного согласованного состояния в другое — транзакция не разрушает взаимной согласованности данных.

Максим А. Сопов

Слайд 9

Свойство изолированности (Isolation) означает, что конкурирующие за доступ к базе данных транзакции физически

Свойство изолированности (Isolation) означает, что конкурирующие за доступ к базе данных транзакции
обрабатываются последовательно, изолированно друг от друга, но для пользователей это выглядит так, как будто они выполняются параллельно.
Свойство долговечности (Durability) трактуется следующим образом: если транзакция завершена успешно, то те изменения в данных, которые были ею произведены, не могут быть потеряны ни при каких обстоятельствах (даже в случае последующих ошибок).

Максим А. Сопов

Слайд 10

Возможны два варианта завершения транзакции.
Фиксация транзакции — это действие, обеспечивающее запись на

Возможны два варианта завершения транзакции. Фиксация транзакции — это действие, обеспечивающее запись
диск изменений в базе данных, которые были сделаны в процессе выполнения транзакции.
Откат транзакции — это действие, обеспечивающее аннулирование всех изменений данных, которые были сделаны операторами SQL в теле текущей незавершенной транзакции.

Максим А. Сопов

Слайд 11

В стандарте ANSI/ISO SQL определены модель транзакций и функции операторов COMMIT и

В стандарте ANSI/ISO SQL определены модель транзакций и функции операторов COMMIT и
ROLLBACK.
Стандарт определяет, что транзакция начинается с первого SQL-оператора, инициируемого пользователем или содержащегося в программе, изменяющего текущее состояние базы данных. Все последующие SQL-операторы составляют тело транзакции.

Максим А. Сопов

Слайд 12

Транзакция завершается одним из четырех возможных путей:
1. оператор COMMIT означает успешное завершение

Транзакция завершается одним из четырех возможных путей: 1. оператор COMMIT означает успешное
транзакции; его использование делает постоянными изменения, внесенные в базу данных в рамках текущей транзакции;
2. оператор ROLLBACK прерывает транзакцию, отменяя изменения, сделанные в базе данных в рамках этой транзакции; новая транзакция начинается непосредственно после использования ROLLBACK;

Максим А. Сопов

Слайд 13

Транзакция завершается одним из четырех возможных путей:
3. успешное завершение программы, в которой

Транзакция завершается одним из четырех возможных путей: 3. успешное завершение программы, в
была инициирована текущая транзакция, означает успешное завершение транзакции (как будто был использован оператор COMMIT);
4. ошибочное завершение программы прерывает транзакцию (как будто был использован оператор ROLLBACK).

Максим А. Сопов

Слайд 14

Журнал транзакций
Реализация в СУБД принципа сохранения промежуточных состояний, подтверждения или отката транзакции

Журнал транзакций Реализация в СУБД принципа сохранения промежуточных состояний, подтверждения или отката
обеспечивается специальным механизмом, для поддержки которого создается некоторая системная структура, называемая Журналом транзакций.

Максим А. Сопов

Слайд 15

Общей целью журнализации изменений баз данных является обеспечение возможности восстановления согласованного состояния

Общей целью журнализации изменений баз данных является обеспечение возможности восстановления согласованного состояния
базы данных после любого сбоя.
Поскольку основой поддержания целостного состояния базы данных является механизм транзакций, журнализация и восстановление тесно связаны с понятием транзакции. 

Максим А. Сопов

Слайд 16

Общими принципами восстановления являются следующие:
результаты зафиксированных транзакций должны быть сохранены в восстановленном

Общими принципами восстановления являются следующие: результаты зафиксированных транзакций должны быть сохранены в
состоянии базы данных;
результаты незафиксированных транзакций должны отсутствовать в восстановленном состоянии базы данных.

Максим А. Сопов

Слайд 17

Состояния требующие восстановления БД

Максим А. Сопов

Состояния требующие восстановления БД Максим А. Сопов

Слайд 18

Индивидуальный откат транзакции.
стандартной ситуацией отката транзакции является ее явное завершение оператором

Индивидуальный откат транзакции. стандартной ситуацией отката транзакции является ее явное завершение оператором
ROLLBACK;
аварийное завершение работы прикладной программы, которое логически эквивалентно выполнению оператора ROLLBACK, но физически имеет иной механизм выполнения;
принудительный откат транзакции в случае взаимной блокировки при параллельном выполнении транзакций. В подобном случае для выхода из тупика данная транзакция может быть выбрана в качестве «жертвы» и принудительно прекращено ее выполнение ядром СУБД.

Максим А. Сопов

Слайд 19

2. Восстановление после внезапной потери содержимого оперативной памяти (мягкий сбой).
при аварийном

2. Восстановление после внезапной потери содержимого оперативной памяти (мягкий сбой). при аварийном
выключении электрического питания;
при возникновении неустранимого сбоя процессора (например, срабатывании контроля оперативной памяти) и т. д. Ситуация характеризуется потерей той части базы данных, которая к моменту сбоя содержалась в буферах оперативной памяти.

Максим А. Сопов

Слайд 20

3. Восстановление после поломки основного внешнего носителя базы данных (жесткий сбой).
Эта

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

Максим А. Сопов

Слайд 21

Максим А. Сопов

Максим А. Сопов

Слайд 22

Максим А. Сопов

Максим А. Сопов

Слайд 23

Максим А. Сопов

Максим А. Сопов

Слайд 24

Максим А. Сопов

Максим А. Сопов

Слайд 25

Максим А. Сопов

Максим А. Сопов

Слайд 26

Максим А. Сопов

Максим А. Сопов
Имя файла: Транзакции.pptx
Количество просмотров: 386
Количество скачиваний: 5