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