Найти в Дзене
Self Study

Что такое ACID?

ACID - это набор из четырех требований к транзакционной системе, обеспечивающих максимально надежную и предсказуемую работу. Не все базы данных полностью реализуют ACID. Атомарность (atomicity) Атомарность гарантирует, что каждая транзакция будет выполнена полностью или не будет выполнена совсем. Не допускаются промежуточные состояния. Например, если вы переводите деньги с одного счета на другой, то атомарность гарантирует, что либо оба счета будут изменены соответственно, либо ни один из них не будет изменен. Согласованность (consistency) Согласованность — это требование, подразумевающее, что в результате работы транзакции данные будут допустимыми. Это вопрос не технологии, а бизнес-логики. Согласованность означает, что транзакция не нарушает правил и ограничений базы данных. Например, если у вас есть правило, что баланс счета не может быть отрицательным, то согласованность гарантирует, что транзакция не приведет к такому состоянию. Изолированность (isolation) Гарантия т
Оглавление

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

Атомарность (atomicity)

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

Согласованность (consistency)

Согласованность — это требование, подразумевающее, что в результате работы транзакции данные будут допустимыми. Это вопрос не технологии, а бизнес-логики. Согласованность означает, что транзакция не нарушает правил и ограничений базы данных. Например, если у вас есть правило, что баланс счета не может быть отрицательным, то согласованность гарантирует, что транзакция не приведет к такому состоянию.

Изолированность (isolation)

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

Долговечность (durability)

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