Skip to main content

Що означає довговічність (Durability)?

Довговічність (Durability) - це властивість транзакції, яка гарантує, що після фіксації (commit) результат операції не втратиться, навіть якщо станеться збій: відключення живлення, падіння сервера, перезапуск процесу чи системи.

Що саме гарантується

  • дані, які було успішно зафіксовано, обов'язково потраплять на надійне сховище (диск, журнал, WAL/oplog тощо)
  • після перезапуску база зможе відновити зафіксований стан
  • відкотитися назад дані вже не можуть, тому що транзакцію завершено

Як це досягається технічно

Різні СУБД реалізують Durability через:

  • журнали операцій (Write-Ahead Log, oplog)
  • fsync / журналювання файлових систем
  • реплікацію (у розподілених системах)
  • контрольні точки (checkpoints)

Суть одна: перед підтвердженням транзакції система гарантує запис змін у стійке сховище, а не лише в оперативну пам'ять.

Приклад

Якщо транзакція перевела гроші між рахунками й повернула commit OK, то:

  • навіть при миттєвому падінні сервера через секунду
  • після перезапуску дані будуть у тому стані, який був на момент commit

Коротке визначення

Durability = "після commit дані не зникнуть і не відкотяться, система гарантує їхню збереженість".

Ця властивість закриває останній ризик - втрату чи відкат уже прийнятих змін.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.