3
Транзакции и их свойства
Транзакция — множество операций,
которые переводят базу данных из одного
корректного состояния в другое корректное
при условии, что транзакция выполнена полностью
и без помех со стороны других транзакций
атомарность: транзакция либо выполняется полностью,
либо не оставляет никаких следов
согласованность определяется ограничениями целостности
и семантикой приложения
неполная изоляция приводит к нарушению корректности (аномалиям)
при конкурентном выполнении транзакций
Согласованность
Атомарность
Изоляция
Транзакцией называется множество операций, выполняемое
приложением, которое переводит базу данных из одного корректного
состояния в другое корректное состояние (согласованность)
при условии, что транзакция выполнена полностью (атомарность)
и без помех со стороны других транзакций (изоляция).
Корректное (согласованное) состояние определяется как
ограничениями целостности, заданными на уровне базы данных, так и
семантикой приложения.
Идеальная изоляция транзакций гарантирует, что на работу
приложения не окажут влияния никакие другие конкурентно
выполняющиеся транзакции. Однако если ослабить требования
к изоляции, то транзакция, которая корректно выполнялась в базе
данных в одиночестве, может выдавать некорректные результаты при
наличии других транзакций — из-за того, что при выполнении
операторы разных транзакций могут чередоваться. Такие некорректные
ситуации называются аномалиями.
Реализация полной изоляции — сложная задача, сопряженная
с уменьшением пропускной способности системы. На практике как
правило применяется именно ослабленная изоляция, и поэтому важно
понимать, какие это влечет последствия.
Четвертое свойство ACID — долговечность — мы рассмотрим позже,
в теме «Обзор журналирования».