Подтвердить что ты не робот

Согласованность атомарности базы данных

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

Атомарность

Выполняются все задачи транзакции или ни одна из них не выполняется. Частичных транзакций нет. Например, если транзакция начинает обновление 100 строк, но система выходит из строя после 20 обновлений, тогда база данных отбрасывает изменения в эти 20 строк.

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

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

4b9b3361

Ответ 1

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

Однако согласованность говорит о том, что любая транзакция приведет базу данных из одного действительного состояния в другое. Любые данные, записанные в базу данных, должны быть действительными в соответствии со всеми определенными правилами, включая, но не ограничиваясь ограничениями, каскадами, триггерами и любой их комбинацией (взято из Википедии). Это в основном означает, что в базу данных записываются только действительные состояния и что транзакция будет либо выполняться, если она не нарушает согласованность данных или откатывается, если это произойдет.

Надеюсь, он очистит вас.

Ответ 2

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

Ответ 3

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

Blockquote

autocommit = false

try{
   statement one ;
   statement two ;
    `enter code here`
    `enter code here`
    `enter code here`
   statement three;
  }
   catch (){rollback;}
  finally(){commit;} t

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

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

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