Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
[конспект] Технологии баз данных [v0.8.1].pdf
Скачиваний:
79
Добавлен:
21.03.2016
Размер:
1.3 Mб
Скачать

10.4. Восстановление после жесткого сбоя

Понятно, что для восстановления последнего согласованного состояния базы данных после жесткого сбоя журнала изменений базы данных явно недостаточно. Основой восстановления в этом случае являются журнал и архивная копия базы данных.

Восстановление начинается с обратного копирования базы данных из архивной копии. Затем для всех закончившихся транзакций ведется повторное выполнение. Для транзакций, которые не закончились к моменту сбоя, выполняется откат.

Хотя к ведению журнала предъявляются особые требования по части надежности, в принципе возможна и его утрата. Тогда единственным способом восстановления базы данных является возврат к архивной копии. Конечно, в этом случае не удастся получить последнее согласованное состояние базы данных, но это лучше, чем ничего.

Как создавать архивную копию? Самый простой способ — архивировать базу данных при переполнении журнала. В журнале вводится так называемая «желтая зона», при достижении которой образование новых транзакций временно блокируется. Когда все транзакции закончатся, и следовательно, база данных придет в согласованное состояние, можно производить ее архивацию, после чего начинать заполнять журнал заново.

Можно выполнять архивацию базы данных реже, чем переполняется журнал. При переполнении журнала и окончании всех начатых транзакций можно архивировать сам журнал. Поскольку такой архивированный журнал, по сути дела, требуется только для воссоздания архивной копии базы данных, журнальная информация при архивации может быть существенно сжата.

Литература

1.Кузнецов С. Д. Средства журнализации и восстановления баз данных // Базы данных. Вводный

курс (лекция 14). — 2008. — URL: http://citforum.ru/database/advanced_intro/44.

shtml.

§11. Выполнение и оптимизация запросов в реляционных СУБД

Для каждого запроса (выборка, вставка, удаление или обновление данных) существует несколько различных формулировок на языке манипулирования данными (ЯМД), дающих один и тот же результат. Но разные варианты запроса могут выполняться за разное время, поэтому возникает задача оптимизации: нахождение такого варианта запроса, который выполняется быстрее остальных и требует меньше всего ресурсов. Конечно, указанные требования к оптимальному запросу часто вступают в противоречие, поэтому необходимо искать золотую середину.

Существуют два основных метода оптимизации запросов, хотя на практике чаще всего используется их сочетание:

I метод. Для определения порядка выполнения операций обработки запроса используются эври-

стические правила.

II метод. Заключается в сравнительной оценке стоимости различных вариантов выполнения запроса и выборе того варианта, который предполагает минимальное использование ресурсов. Поскольку часто скорость доступа к данным на внешнем носителе на порядки меньше скорости оперативной памяти, основную стоимость операций обработки запроса в централи-

зованных СУБД составляет стоимость операций на внешнем носителе.

73