В технологиях баз данных откат — это операция, которая возвращает базу данных в некоторое предыдущее состояние. Откаты важны для целостности базы данных , поскольку они означают, что база данных может быть восстановлена до чистой копии даже после выполнения ошибочных операций. [1] Они имеют решающее значение для восстановления после сбоев сервера базы данных; откатив любую транзакцию , которая была активна во время сбоя, база данных восстанавливается до согласованного состояния.
Функция отката обычно реализуется с помощью журнала транзакций , но может быть реализована и посредством управления параллелизмом многоверсионности .
Каскадный откат происходит в системах баз данных, когда транзакция (T1) вызывает сбой и откат должен быть выполнен. Другие транзакции, зависящие от действий T1, также должны быть откатены из-за сбоя T1, тем самым вызывая каскадный эффект. То есть, сбой одной транзакции приводит к сбою многих.
Практические методы восстановления баз данных гарантируют откат без каскада, поэтому каскадный откат не является желательным результатом. Каскадный откат запланирован dba.
SQL относится к языку структурированных запросов, типу языка, используемого для доступа, обновления и манипулирования базой данных. В SQL — ROLLBACK
это команда, которая заставляет все изменения данных с момента последнего START TRANSACTION
или BEGIN
быть отмененными реляционными системами управления базами данных (СУБД), так что состояние данных «откатывается» к тому, каким оно было до внесения этих изменений. [2]
Оператор ROLLBACK
также освободит все существующие точки сохранения , которые могут использоваться.
В большинстве диалектов SQL ROLLBACK
s являются специфичными для соединения. Это означает, что если два соединения сделаны с одной и той же базой данных, ROLLBACK
сделанное в одном соединении не повлияет на другие соединения. Это жизненно важно для правильного параллелизма .
Откаты не являются исключительными для баз данных: любая распределенная система с сохранением состояния может использовать операции отката для поддержания согласованности . Примерами распределенных систем, которые могут поддерживать откаты, являются очереди сообщений и системы управления рабочими процессами . В более общем смысле, любая операция, которая сбрасывает систему в предыдущее состояние перед другой операцией или серией операций, может рассматриваться как откат.