Учебное пособие Для студентов университетов Специальностей «Информатика», «Прикладная математика»


Журнализация  и  восстановление  после  сбоев



Pdf көрінісі
бет49/177
Дата15.02.2022
өлшемі2,58 Mb.
#25567
түріУчебное пособие
1   ...   45   46   47   48   49   50   51   52   ...   177
Журнализация  и  восстановление  после  сбоев. 
Одним  из  основных 
требований  к  СУБД  является  надежность  хранения  данных  во  внешней 
памяти. СУБД должна быть в состоянии восстановить последнее  согла-
сованное  состояние  БД  после  любого  аппаратного  или  программного 
сбоя.  Обычно  рассматриваются  два  возможных  вида  аппаратных  сбоев: 
так называемые мягкие сбои, которые можно трактовать как внезапную 
остановку  работы  компьютера  (например,  аварийное  выключение  пита-
ния), и жесткие сбои, характеризуемые потерей информации на носите-
лях  внешней  памяти.  Понятно,  что  в  любом  случае  для  восстановления 
БД нужно располагать некоторой дополнительной информацией. Други-
ми словами, поддержание надежности хранения данных в БД требует из-
быточности хранения данных, причем та часть данных, которая исполь-
 
64


 
зуется для восстановления,  должна храниться  особо надежно. Наиболее 
распространенным  методом  поддержания  такой  избыточной  информа-
ции является ведение журнала изменений БД. 
Журнал 
 это особая часть БД, куда поступают записи обо всех изме-
нениях основной части БД. Журнал не доступен пользователям СУБД и 
поддерживается  с  особой  тщательностью  (иногда  поддерживаются  две 
копии  журнала,  расположенные  на  отдельных  физических  дисках).  Из-
менения БД заносятся в журнал на разных уровнях: иногда запись в жур-
нале  соответствует  некоторой  логической  операции  изменения  БД  (на-
пример, операции удаления строки из таблицы реляционной БД), иногда 

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


Достарыңызбен бөлісу:
1   ...   45   46   47   48   49   50   51   52   ...   177




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет