Введение
Операция, которая возвращает базу данных в предыдущее состояние. В технологиях баз данных, откат – это операция, которая возвращает базу данных в какое-то предыдущее состояние. Откаты важны для целостности базы данных, поскольку они обеспечивают возможность восстановления базы данных до чистого состояния даже после выполнения ошибочных операций. Они критически важны для восстановления после сбоев сервера базы данных; путем отката любой транзакции, которая была активна на момент сбоя, база данных восстанавливается в согласованное состояние. Функция отката обычно реализуется с использованием журнала транзакций, но также может быть реализована посредством многоверсионного управления параллельным доступом.
In database technologies, a rollback is an operation which returns the database to some previous state. Rollbacks are important for database integrity, because they mean that the database can be restored to a clean copy even after erroneous operations are performed. They are crucial for recovering from database server crashes; by rolling back any transaction which was active at the time of the crash, the database is restored to a consistent state. The rollback feature is usually implemented with a transaction log, but can also be implemented via multiversion concurrency control.
Каскадное восстановление
Каскадный откат происходит в системах баз данных, когда транзакция (T1) вызывает сбой и необходимо выполнить откат. Другие транзакции, зависящие от действий T1, также должны быть отменены из-за сбоя T1, что вызывает каскадный эффект. То есть, сбой одной транзакции приводит к сбою многих. Практические методы восстановления баз данных гарантируют бескаскадный откат, поэтому каскадный откат не является желательным результатом. Каскадный откат планируется администратором баз данных.
SQL
SQL относится к Structured Query Language, языку, используемому для доступа, обновления и манипулирования базами данных. В SQL, ROLLBACK – это команда, которая отменяет все изменения данных, внесенные после последней команды START TRANSACTION или BEGIN, в реляционных системах управления базами данных (RDBMS), возвращая состояние данных к тому, каким оно было до этих изменений. Оператор ROLLBACK также освобождает все существующие точки сохранения, которые могут использоваться. В большинстве диалектов SQL, ROLLBACK применяется к конкретному соединению. Это означает, что если к одной и той же базе данных подключено два соединения, ROLLBACK, выполненный в одном из них, не повлияет на другие соединения. Это критически важно для обеспечения корректной параллельной работы.
Использование вне баз данных
Восстановление не ограничивается базами данных: любая распределенная система, сохраняющая состояние, может использовать операции отката для обеспечения согласованности. Примеры распределенных систем, поддерживающих откаты, включают очереди сообщений и системы управления рабочими процессами. В более общем плане, любая операция, возвращающая систему в предыдущее состояние перед выполнением другой операции или серии операций, может рассматриваться как откат.