Восстановление базы данных — функция СУБД, обеспечивающая возвращение базы данных в согласованное и корректное состояние на определённый момент времени после возникновения аппаратно-программного сбояДейт К. Дж. Введение в системы баз данных = An Introduction to Database Systems. — 6-е изд. — М.: Издательский дом «Вильямс», 2000. — Гл. 13. Восстановление. — С. 376—391. — ISBN 5-8459-0019-0.. Механизм восстановления является ключевым компонентом обеспечения свойств ACID (в первую очередь атомарности и долговечности транзакций).

Основные механизмы Для обеспечения возможности восстановления в СУБД используются следующие технологии и подходы: Резервное копирование и снимки (snapshots): периодическое создание полных, разностных или инкрементных копий базы данных. Журнал упреждающей записи (Write-Ahead Logging, WAL): сохранение всех изменений в энергонезависимом журнале до их фактической записи на диск. Контрольные точки (checkpoints): фиксация согласованного состояния базы данных на диске для сокращения времени анализа журнала при сбое. Откат и накат транзакций (UNDO / REDO): отмена незавершённых транзакций (UNDO) и повторное применение изменений завершённых транзакций (REDO) по данным журнала.

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

Целевые показатели Эффективность подсистемы восстановления оценивается двумя ключевыми метриками: RPO (допустимая потеря данных) — максимальный период времени, за который данные могут быть утеряны в результате сбоя. RTO (время восстановления) — максимальное время, необходимое для полного восстановления работоспособности базы данных.

Примечания

Литература Дейт К. Дж. Введение в системы баз данных = An Introduction to Database Systems. — 6-е изд. — М.; СПб.; К.: Издательский дом «Вильямс», 2000. — 848 с. — ISBN 5-8459-0019-0.

Категория:Базы данных Категория:Надёжность СУБД