ACID

Материал из Википедии — свободной энциклопедии

Перейти к: навигация, поиск

Акроним ACID описывает требуемые свойства транзакции в СУБД или распределённых системах:

  • Atomicity (атомарность): определяет, что транзакция является наименьшим, неделимым блоком алгоритма изменения данных. Другими словами, любые части (подоперации) транзакции либо выполняются все, либо не выполняется ни одной такой части. Поскольку на самом деле невозможно одновременно и атомарно выполнить последовательность команд внутри транзакции, вводится понятие «отката» (rollback): если транзакцию не удаётся полностью завершить, результаты всех до сих пор произведённых действий должны быть отменены и система возвращается в исходное состояние.
  • Consistency (непротиворечивость): по окончании транзакция оставляет данные в непротиворечивом состоянии. Скажем, если поле в базе данных описано как имеющее только уникальные значения строк, то при любом исходе транзакции строк-дубликатов появиться не может.
  • Isolation (изоляция): во время выполнения транзакции другие процессы не должны видеть данные в промежуточном состоянии. Например, если транзакция изменяет сразу несколько полей в базе данных, то другой запрос, выполненный во время выполнения транзакции, не должен вернуть одни из этих полей с новыми значениями, а другие с исходными.
  • Durability (долговечность): независимо от проблем на нижних уровнях (к примеру, обесточивание системы или сбои в оборудовании) изменения, сделанные успешно завершённой транзакцией, останутся сохранёнными после возвращения системы в работу. Другими словами, если пользователь получил подтверждение от системы, что транзакция выполнена, он должен быть уверен, что сделанные им изменения не будут отменены из-за какого-либо сбоя.

[править] См. также


Источник — «http://ru.wikipedia.org/wiki/ACID»