Классика баз данных - статьи



         

Дополнительные структуры данных - часть 2


Еще одним важным преимуществом ARIES является то, что алгоритм не накладывает фактически никаких ограничений на политику, используемую менеджером буферизации (кроме требования поддержки упреждающей журнализации). Вся необходимая для восстановления информация собирается на основе данных журнала. Но если конкретная политика буферизации неизвестна, во время восстановления потребуется некоторая дополнительная информация о состоянии страниц БД. Эта информация содержится в таблице "грязных" страниц (dirty pages table). Уточним, что имеется в виду. Страница буферного пула называется "грязной", если она содержит какие-либо изменения, еще не внесенные в тот вариант этой страницы, который располагается во внешней памяти. Чтобы отслеживать такие страницы, менеджер буферизации и поддерживает таблицу грязных страниц.

Каждый элемент этой таблицы содержит пару значений: PageID и RecLSN. PageID - это идентификатор страницы, а RecLSN - LSN, используемый при восстановлении. Зная это значение, мы можем установить, с какого LSN нужно просматривать журнал, чтобы восстановить страницу с данным PageID. В конкретной реализации таблица грязных страниц может быть организована с использованием хеширования.




Содержание  Назад  Вперед