Открыть сервисСервис

Откат — понятие в информатике и программировании

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

Откат в информатике и программировании

В программировании откат (rollback) — это операция возврата данных или системы к ранее сохранённому состоянию (снимку, контрольной точке). Механизм лежит в основе транзакций в базах данных: если операция завершилась ошибкой, все её изменения отменяются, и база остаётся в согласованном состоянии. Пример — банковский перевод: если одна из операций не выполнена, транзакция откатывается целиком, чтобы не оставить частично изменённые данные.

Откат в системах контроля версий

В системах контроля версий (Git, SVN) откат — это возврат к предыдущей версии кода. Реализуется командой git revert, создающей новую коммит, отменяющий изменения, либо git reset, перемещающей указатель ветки назад. Откат в Git не удаляет историю полностью — он добавляет запись об отмене, что позволяет отследить, когда и почему изменения были отменены.

Откат программного обеспечения

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

Откат в базах данных

В теории транзакций откат — одно из двух ключевых свойств (наряду с фиксацией). Свойства ACID (атомарность, согласованность, изолированность, долговечность) требуют, чтобы транзакция либо выполнялась полностью, либо не выполнялась вовсе. Откат обеспечивает атомарность: при сбое все изменения транзакции отменяются через журнал транзакций (WAL — Write-Ahead Logging), где каждое изменение записывается до его применения.

Откат в управлении версиями и конфигурациями

Откат конфигураций — распространённая практика в системном администрировании. При изменении настроек сервера, сетевого оборудования или облачной инфраструктуры администраторы сохраняют предыдущую конфигурацию, чтобы при проблемах быстро вернуться к рабочему состоянию. Инструменты вроде Ansible, Puppet и Terraform поддерживают откат как встроенный механизм.

Откат в экономике и финансах

В экономике откат — это возврат к прежнему уровню цен, курсов или показателей после временного роста или падения. Рыночный откат (retracement) — часть движения цены актива, когда после импульса цена корректируется в обратную сторону, не разворачивая общий тренд. Трейдеры используют уровни отката (например, 38,2 %, 50 % и 61,8 % по Фибоначчи) для определения точек входа в сделку.

Откат в повседневном языке

В разговорной речи «откат» часто означает возврат к прежнему порядку, правилам или условиям после попытки их изменить. В контексте государственных услуг и льгот — возврат к прежнему режиму начисления после временных изменений. В спортивной терминологии — откат мяча после удара по воротам.

Отличие от отмены

Откат и отмена (undo) часто путают, но это разные операции. Отмена — локальное действие, возвращающее один шаг (например, Ctrl+Z в редакторе). Откат — системная операция, возвращающая состояние к контрольной точке, часто затрагивающая несколько изменений или целую систему.

Применение

Откат применяется в:

  • Банковских системах — для обеспечения целостности транзакций;
  • Облачных сервисах — для отката неудачных развёртываний;
  • Игровой индустрии — для отката серверов к рабочему состоянию после сбоев;
  • Промышленной автоматизации — для возврата к рабочим параметрам после аварий;
  • Версионировании данных — для восстановления после случайного удаления или повреждения.

Интересные факты

  • В системе Git откат не удаляет историю — он создаёт новый коммит, отменяющий изменения, что позволяет отследить причину отката.
  • Термин «rollback» в транзакциях баз данных закрепился в стандарте ANSI SQL в 1980-х годах.
  • В Windows откат системы реализован через «Точку восстановления», позволяющую вернуть систему к предыдущему состоянию.

Источники:

  • Корман Т. «Введение в теорию транзакций»
  • Стоунбрейкер М., Хеллерштейн Дж. «Readings in Database Systems»
  • Прокопчук Ю. «Управление конфигурациями в IT-инфраструктуре»
  • Мёрфи Дж. «Технический анализ финансовых рынков»
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru