Flatik.ru

Перейти на главную страницу

Поиск по ключевым словам:

страница 1
Тема 9. Защита от системных сбоев.
Принципы работы транзакций:

  • Принцип корректности – транзакция при отсутствии других транзакций переводит базу данных из одного согласованного состояния в другое.

  • Принцип атомарности – транзакция либо выполняется целиком, либо не выполняется вообще.


Операции транзакций по перемещению данных.


  • INPUT(X) – копирование блока диска, содержащего элемент X в оперативную память;

  • READ(X,t) – копирование элемента X в локальную переменную t;

  • WRITE(X,t) – копирование значения переменной t в элемент X в оперативной памяти;

  • OUTPUT(X) – копирование блока, содержащего элемент X из буфера оперативной памяти на диск.


Пример. Воздействие транзакции на оперативную память и диск.
Пусть согласованное состояние базы данных предполагает, что A=B.

Действия

T

A в памяти

В в памяти

А на диске

В на диске

READ(A,t)

8

8




8

8

t=t*2

16

8




8

8

WRITE(A,t)

16

16




8

8

READ(B,t)

8

16

8

8

8

t=t*2

16

16

8

8

8

WRITE(B,t)

16

16

16

8

8

OUTPUT(A)

16

16

16

16

8

OUTPUT(B)

16

16

16

16

16



Записи в протокол.


  • - транзакция Т стартовала;

  • - транзакция Т была завершена успешно;

  • - транзакция Т отменена.


Протокол возврата.

При выполнении команды WRITE осуществляется запись в протокол следующего типа:


<T,X,v> - транзакция Т изменяет элемент базы данных X, прежнее значение которого v.
Правила протокола-возврата.

  • Если транзакция T изменяет элемент базы данных X, тогда запись в протокол <T,X,v> должна быть записана до момента, когда новое значение элемента X будет записано на диске.

  • Если транзакция завершена успешно, тогда ее запись COMMIT в протокол должна быть записана только после того, как все элементы базы данных, измененные транзакцией, будут записаны на диск.

Для записи протокола на диск добавим команду: FLUSH LOG.



Пример.





Действие

t

A в памяти

В в памяти

А на диске

В на диске

Протокол

1





















2

READ(A,t)

8

8




8

8




3

t=t*2

16

8




8

8




4

WRITE(A,t)

16

16




8

8



5

READ(B,t)

8

16

8

8

8




6

t=t*2

16

16

8

8

8




7

WRITE(B,t)

16

16

16

8

8



8

FLUSH LOG



















9

OUTPUT(A)

16

16

16

16

8




10

OUTPUT(B)

16

16

16

16

16




11





















12

FLUSH LOG




















Правила восстановления с использование протокола-возврата.
Сканируем протокол с конца, фиксируя записи и . При нахождении записи :

  • Если T – транзакция, для которой есть запись или , ничего не делаем.

  • В противном случае, требуется изменить на значение v элемент X на диске.

После проведения всех изменений для всех незавершенных транзакций записывается в протокол .


Контрольные точки.

При установке контрольной точки:



  • Запрещается прием новых транзакций.

  • Ожидается, когда все активные транзакции будут завершены или отменены.

  • Протокол записывается на диск.

  • Делается запись в протокол .

  • Возобновляется прием транзакций.

Например,

;

;

;

;

;

;

;

;

;

;

;




Неподвижные контрольные точки.

  • Делается запись в протокол , где T1…TK – идентификаторы активных транзакций;

  • Ожидается, пока все транзакции T1…TK не будут завершены или отменены, но не запрещается стартовать другим транзакциям.

  • После завершения транзакций T1…TK делается запись в протокол и записывается протокол на диск.

Например,



;

;

;

;

;

;

;

;

;

;

;

;




Протокол повтора.
При выполнении команды WRITE осуществляется запись в протокол следующего типа:
<T,X,v> - транзакция Т изменяет элемент базы данных X, новое значение которого v.
Правило. Перед модификацией любого элемента базы данных X на диске необходимо, чтобы все записи протокола, соответствующие этой модификации, включая записи и , были записаны на диск.
Пример.




Действие

t

A в памяти

В в памяти

А на диске

В на диске

Протокол

1





















2

READ(A,t)

8

8




8

8




3

t=t*2

16

8




8

8




4

WRITE(A,t)

16

16




8

8



5

READ(B,t)

8

16

8

8

8




6

t=t*2

16

16

8

8

8




7

WRITE(B,t)

16

16

16

8

8



8





















9

FLUSH LOG



















10

OUTPUT(A)

16

16

16

16

8




11

OUTPUT(B)

16

16

16

16

16




12

FLUSH LOG




















Правила восстановления при использовании протокола-повтора.


  • Определяем множество завершенных транзакций.

  • Сканируем протокол с начала. При нахождении записи :

а) Если T - незавершенная транзакция, ничего не делать;

б) Если Т – завершенная транзакция, записать значение v в элемент базы данных X.



  • Для каждой незавершенной транзакции T записать в протокол и перенести протокол на диск.


Контрольные точки.


  • Делается запись в протокол , где T1…TK – активные транзакции, записать протокол на диск.

  • Записывается на диск все элементы базы данных, которые были изменены транзакциями, которые были завершены до записи START CKPT, но еще не отображены на диске.

  • Записывается в протокол и протокол переносится на диск.

Например,



;

;

;

;

;

;

;

;

;

;

;

.



Протокол возврата-повтора.
При выполнении команды WRITE осуществляется запись в протокол следующего типа:
<T,X,v,w> - транзакция Т изменяет элемент базы данных X, старое значение которого v, а новое значение - w.
Правило. Перед изменением любого элемента базы данных X на диске необходимо, чтобы запись <T,X,v,w> попала на диск. Запись может, как предшествовать, так и следовать за любыми изменениями элементов на диске.
Пример.




Действие

t

A в памяти

В в памяти

А на диске

В на диске

Протокол

1





















2

READ(A,t)

8

8




8

8




3

t=t*2

16

8




8

8




4

WRITE(A,t)

16

16




8

8



5

READ(B,t)

8

16

8

8

8




6

t=t*2

16

16

8

8

8




7

WRITE(B,t)

16

16

16

8

8



8

FLUSH LOG



















9

OUTPUT(A)

16

16

16

16

8




10





















11

OUTPUT(B)

16

16

16

16

16




12

FLUSH LOG




















Правила восстановления с помощью протокола возврата-повтора.


  • Отменить все незавершенные транзакции, начиная с более поздней.

  • Повторить все завершенные транзакции, начиная с более ранней.


Контрольные точки.


  • Записывается в протокол , где T1…TK – активные транзакции;

  • Записываются на диск все буферы, содержащие измененные данные.

  • Записывается в протокол, протокол записывается на диск.

Например,



;

;

;

;

;

;

;

;

;

;

;

.


Архивирование.
Используется протокол типа повтора или повтора-возврата.

  • Заносится в протокол запись .

  • Выполняется контрольная точка по правилам соответствующего протокола.

  • Выполняется полная или частичная выгрузка данных.

  • Сохраняется протокол.

  • Заносится в протокол .


Пример. Пусть элементами базы данных являются (A,B,C,D). Начальные значения (1,2,3,4).

Диск Архив

Копируется А

А=5


Копируется В

С=6


Копируется С

B=7


Копируется D

Конечное состояние элементов базы данных (5, 7, 6, 4).

Копия базы данных в архиве – (1, 2, 6, 4).
Протокол.

;

;

;

;

;

;

;

Завершено архивирование



.


Тема Защита от системных сбоев. Принципы работы транзакций

Принцип корректности – транзакция при отсутствии других транзакций переводит базу данных из одного согласованного состояния в другое

146.67kb.

14 10 2014
1 стр.


7. Транзакционное управление в субд. Методы сериализации транзакций. Понятие транзакции

Сотрудники и отделы в одну транзакцию. Таким образом, поддержание механизма транзакций является обязательным условием даже однопользовательских субд

157.63kb.

14 10 2014
1 стр.


Автоматическое восстановление вычислительного процесса после сбоев

Почти 75% ошибок ЭВМ приходится на сбои, следовательно, восстановление вычислительного процесса после сбоев является важной проблемой

81.28kb.

15 09 2014
1 стр.


Курса «Эволюция, архитектура и принципы функционирования современных радиотехнических телекоммуникационных систем»

Ационщиков и специалистов отделов развития и планирования телекоммуникационных систем; системных архитекторов; разработчиков систем связи, передачи данных и радиолокации

33.12kb.

17 12 2014
1 стр.


Методические указания к семинарским занятиям для студентов заочной формы обучения по дисциплине: «международное право» Тема №1 Понятие, система, принципы и источники современного международного права (2 часа)

Тема №1 Понятие, система, принципы и источники современного международного права (2 часа)

165.17kb.

26 09 2014
1 стр.


Опыт применения Системных Продуктов Здоровья компании витамакс у детей, больных бронхиальной астмой

С сентября 1996 г по февраль 1997 г проведено клиническое исследование Системных Продуктов Здоровья компании витамакс на 84 детях в возрасте от 4 до 15 лет, больных бронхиальной ас

28.41kb.

24 09 2014
1 стр.


Технические средства информатизации Системные платы Форм-факторы системных плат

Системные платы выпускаются в нескольких вариантах. Они отличаются размерами, или форм-факторами. Форм-фактор системной платы определяет тип корпуса, в котором ее можно установить.

119.63kb.

14 12 2014
1 стр.


Применение Системных Продуктов Здоровья компании витамакс в лечении гнойной инфекции у детей

Сравнение результатов лечения гнойной хирургической инфекции в детском возрасте с применением Системных Продуктов Здоровья компании витамакс в сочетании со стандартными схемами леч

58.82kb.

14 12 2014
1 стр.