Введение

Операция, которая возвращает базу данных в предыдущее состояние. В технологиях баз данных, откат – это операция, которая возвращает базу данных в какое-то предыдущее состояние. Откаты важны для целостности базы данных, поскольку они обеспечивают возможность восстановления базы данных до чистого состояния даже после выполнения ошибочных операций. Они критически важны для восстановления после сбоев сервера базы данных; путем отката любой транзакции, которая была активна на момент сбоя, база данных восстанавливается в согласованное состояние. Функция отката обычно реализуется с использованием журнала транзакций, но также может быть реализована посредством многоверсионного управления параллельным доступом.

Каскадное восстановление

Каскадный откат происходит в системах баз данных, когда транзакция (T1) вызывает сбой и необходимо выполнить откат. Другие транзакции, зависящие от действий T1, также должны быть отменены из-за сбоя T1, что вызывает каскадный эффект. То есть, сбой одной транзакции приводит к сбою многих. Практические методы восстановления баз данных гарантируют бескаскадный откат, поэтому каскадный откат не является желательным результатом. Каскадный откат планируется администратором баз данных.

SQL

SQL относится к Structured Query Language, языку, используемому для доступа, обновления и манипулирования базами данных. В SQL, ROLLBACK – это команда, которая отменяет все изменения данных, внесенные после последней команды START TRANSACTION или BEGIN, в реляционных системах управления базами данных (RDBMS), возвращая состояние данных к тому, каким оно было до этих изменений. Оператор ROLLBACK также освобождает все существующие точки сохранения, которые могут использоваться. В большинстве диалектов SQL, ROLLBACK применяется к конкретному соединению. Это означает, что если к одной и той же базе данных подключено два соединения, ROLLBACK, выполненный в одном из них, не повлияет на другие соединения. Это критически важно для обеспечения корректной параллельной работы.

Использование вне баз данных

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