Зачем нужны откаты? - PullRequest
       4

Зачем нужны откаты?

2 голосов
/ 18 января 2011

Почему откаты так важны?

Предотвращает ли несовместимость данных (например, данных в БД SQL)?

Если так, как происходит сохранение данных"(база данных SQL или что-то еще) позволили в первую очередь оказаться в поврежденном состоянии?

Существуют ли механизмы хранения данных, которые не нуждаются в" откате "?

Ответы [ 2 ]

4 голосов
/ 18 января 2011

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

Как правило, само «хранилище» не имеет встроенного механизма контроля согласованности - именно поэтому мы используем откаты и транзакции. Это можно воспринимать как своего рода механизм «живого резервного копирования».

3 голосов
/ 18 января 2011

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

Простой пример. Скажем, вам нужно вставить как данные заголовка заказа в таблицу заказов, так и строки заказа в таблицу строк. Вы вставляете заголовок заказа, читаете идентичность, начинаете вставлять строки заказа - но эта вторая вставка завершается неудачно по любой причине. Единственный надежный способ выхода из этой ситуации - откат первой вставки - либо явно (когда ваше соединение с БД живо), либо неявно (когда связь не работает).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...