русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Индивидуальный откат транзакции.


Дата добавления: 2013-12-23; просмотров: 1031; Нарушение авторских прав


Журнализация по второму варианту.

Файл журнала.

Для выполнения восстановления необходима дополнительная информация. Она поддерживается в виде журнала изменений БД. Общей целью журнализации является обеспечение возможности восстановления БД после любого сбоя.

Общие принципы восстановления следующие:

1. Результаты зафиксированных транзакций сохраняются.

2. Результаты незафиксированных транзакций отсутствуют.

В файл журнала может помещаться следующая информация – записи о транзакциях и записи о контрольных точках.

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

Второй вариант поддерживает только общий журнал изменений БД. Он применяется чаще всего.

Для сведения к минимуму потерь времени на ведение журнала используются буферы процессора как более быстродействующие устройства внешней памяти. По мере наполнения буфера очередная страница «выталкивается» в файл журнала (во внешнюю память). В случае мягкого сбоя надо обязательно иметь некоторое согласованное состояние журнала и БД во внешней памяти для проведения процедуры восстановления. Поэтому существует специальный протокол журнализации WAL (Write Ahead Log) и состоит он в том, что при занесении во внешнюю память измененного объекта БД, перед этим нужно гарантированно вытолкнуть во внешнюю память журнала записи о его изменении. Дополнительное условие на выталкивание буферов накладывается требованием: каждая успешно завершенная транзакция должна быть зафиксирована во внешней памяти. Какой бы сбой не произошел, система должна восстановить БД таким образом, чтобы зафиксировать все результаты к моменту сбоя. Достаточным требованием для этого есть выталкивание при фиксации транзакций всех изменений, относящихся к этой транзакции, в файл журнала. Последняя запись в журнал о данной транзакции – запись о ее конце.



 

Все записи о данной транзакции связываются в стек. Началом списка является запись о последнем изменении БД, произведенном данной транзакцией.

Порядок отката:

1. Выбирается очередная запись из списка данной транзакции.

2. Выполняется противоположные по списку операции (например, вставка вместо удаления). Тем самым восстанавливается предыдущее состояние объекта БД.

3. Обратные операции журнализируются.

4. При успешном завершении отката в журнал заносится запись о конце транзакции. С точки зрения механизма журнализации такая запись является фиксированной.

 



<== предыдущая лекция | следующая лекция ==>
Уровни изолированности пользователей. | Процедура администрирования.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.003 сек.