Проверяет понимание свойства долговечности (Durability) транзакций в базах данных, гарантирующего сохранность зафиксированных изменений.
Долговечность (Durability) — это одно из четырёх свойств ACID (Atomicity, Consistency, Isolation, Durability), которое гарантирует, что после успешного завершения транзакции (коммита) все внесённые изменения останутся в базе данных навсегда, даже если сразу после этого произойдёт сбой питания, ошибка оборудования или перезагрузка системы. Это свойство обеспечивает надёжность хранения данных.
Долговечность обычно реализуется с помощью журнала предзаписи (Write-Ahead Log, WAL). Перед тем как изменить данные на диске, система записывает информацию о транзакции в специальный журнал. Если происходит сбой, база данных при восстановлении (recovery) читает этот журнал и повторяет (redo) все зафиксированные транзакции, гарантируя, что ни одно подтверждённое изменение не будет потеряно.
-- Начинаем транзакцию
BEGIN;
-- Обновляем баланс пользователя
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
-- Фиксируем изменения
COMMIT;
-- Даже если сервер упадёт сразу после COMMIT,
-- изменения останутся в базе благодаря WAL.Вывод: Долговечность — это фундаментальное свойство, которое делает базы данных надёжными для хранения важной информации. Без него невозможно было бы доверять системе после сбоев. Применяйте её везде, где требуется гарантированная сохранность данных после подтверждения операции.