ACID Свойства транзакций

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

Атомарность

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

Последовательность

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

Изоляция

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

Долговечность

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