Похожие презентации:
Транзакции
1.
Транзакции2.
ТранзакцияТранзакция — группа последовательных операций с
базой данных, которая представляет собой логическую
единицу работы с данными.
Т.е. транзакция может быть выполнена либо целиком и
успешно (соблюдая целостность и согласованность
данных и независимо от параллельно выполняющихся
других транзакций), либо не выполнена вовсе (тогда
она не должна произвести никакого эффекта).
3.
Операции с транзакциямиСтарт (BEGIN) — В рамках текущего соединения с базой
данных СУБД запоминает начало транзакции. После этого все
операции до окончания транзакции имеют специальный статус
«промежуточный», а результаты этих операций недоступны для
других транзакций до окончания текущей транзакции.
Фиксация (COMMIT) — Успешное завершение транзакции. Все
операции получают статут «выполнена», а результаты
транзакции сохраняются и становятся доступны в других
транзакциях.
Откат (ROLLBACK) — Отмена транзакции. Все операции
отменяются, а результаты операций удаляются.
4.
Свойства транзакцииACID:
Атомарность (Atomicity)
Согласованность (Consistency)
Изолированность (Isolation)
Устойчивость (долговечность) (Durability)
5.
Атомарность (Atomicity)Свойство атомарности выражается в том, что
транзакция должна быть выполнена в целом или не
выполнена вовсе.
Транзакция не может быть зафиксирована частично.
6.
Согласованность (Consistency)Фиксируются только данные, не нарушающие согласованность
информации в базе данных.
В процессе выполнения транзакции (до фиксации)
согласованность не требуется.
Согласованность – это соответствие бизнес-правилам, в том
числе и тем, которые на уровне СУБД не отслеживаются
(например, в банковской системе это может быть требование,
чтобы сумма по всем операциям с некоторым счётом, как
приходных, так и расходных, должна всегда равняться текущему
балансу).
7.
Устойчивость (Durability)В случае сбоя все зафиксированные транзакции не
«отменяются» после возвращения системы в рабочее
состояние.
То есть после успешной фиксации транзакции СУБД
гарантирует, что даже после сбоя в работе, после
восстановления данные не будут потеряны.
8.
Изолированность (Isolation)Эффекты, связанные с явлением «состояние гонки» (Побочные
эффекты параллелизма):
Эффект потерянного обновления (Lost update )
Эффект грязного чтения (Dirty reads )
Эффект неповторяемого чтения (Non repeatable reads )
Эффект чтения фантомов (Phantom reads )
Требование «дорогое» с точки зрения производительности, поэтому в
полной мере выполняется редко. Зачастую говорят об уровнях изоляции
транзакций.
9.
Эффект потерянного обновления(Lost update )
10.
Эффект грязного чтения (Dirty reads )11.
Эффект неповторяемого чтения(Non repeatable reads )
12.
Эффект чтения фантомов (Phantomreads )
13.
Уровни изоляциитранзакций
READ UNCOMMITED
READ COMMITED
REPEATABLE READ
SERIALIZEABLE
14.
Уровни изоляции, алгоритм которыхоснован на версиях строк
SNAPSHOT
READ COMMITTED SNAPSHOT
Базы данных