Отложена актуализация срещу незабавна актуализация
Отложено актуализиране и незабавно актуализиране са две техники, използвани за поддържане на регистрационни файлове на транзакции на Системи за управление на бази данни (СУБД). Дневникът на транзакциите (наричан още дневник на дневника или дневник за повторение) е физически файл, който съхранява идентификатора на транзакцията, времевия печат на транзакцията, старата стойност и новите стойности на данните. Това позволява на СУБД да следи данните преди и след всяка транзакция. Когато транзакциите се ангажират и базата данни се върне в постоянно състояние, дневникът може да бъде съкратен, за да премахне ангажираните транзакции.
Отложена актуализация
Отложеното актуализиране, наречено също NO-UNDO / REDO, е техника, използвана за възстановяване / поддържане на грешки в транзакции, възникващи поради откази на операционна система, захранване, памет или машина. Когато се изпълнява транзакция, всички актуализации или промени, направени в базата данни от транзакцията, не се извършват веднага. Те се записват в регистрационния файл. Промените в данните, записани в регистрационния файл, се прилагат към базата данни при фиксиране. Този процес се нарича „повторно правене“. При връщане назад всички промени в данните, записани в регистрационния файл, се отхвърлят; следователно няма да бъдат приложени промени към базата данни. Ако транзакцията се провали и тя не е извършена поради някоя от причините, споменати по-горе, записите в регистрационния файл се изхвърлят и транзакцията се рестартира. Ако промените в транзакцията са извършени преди срив, след като системата се рестартира,промените, записани в лог файла, се прилагат към базата данни.
Незабавна актуализация
Непосредствената актуализация, наречена също UNDO / REDO, също е друга техника, използвана за възстановяване / поддържане на откази на транзакции, възникващи поради откази на операционна система, захранване, памет или машина. Когато се изпълнява транзакция, всяка от актуализациите или промените, направени от транзакцията, се записват директно в базата данни. Както оригиналните, така и новите стойности също се записват в регистрационния файл, преди да се направят промени в базата данни. При извършване на всички промени, направени в базата данни, се правят постоянни и записите в регистрационния файл се изхвърлят. При връщане старите стойности се възстановяват в базата данни, като се използват старите стойности, съхранени в регистрационния файл. Всички промени, направени от транзакции в базата данни, се отхвърлят и този процес се нарича „Неправене“. Когато системата се рестартира след срив, всички промени в базата данни се правят постоянни за извършени транзакции. За неангажирани транзакции първоначалните стойности се възстановяват, като се използват стойностите в регистрационния файл.
Каква е разликата между отложена актуализация и незабавна актуализация
Въпреки че отложената актуализация и незабавната актуализация са два метода за възстановяване след системна повреда, процесът, който всеки метод използва, е различен. При различен метод на актуализация, всички промени, направени в данните от транзакция, първо се записват в регистрационен файл и се прилагат към базата данни при фиксиране. При метода за незабавна актуализация промените, направени от транзакция, се прилагат директно към базата данни и старите стойности и новите стойности се записват в регистрационния файл. Тези записи се използват за възстановяване на стари стойности при връщане назад. При различен метод на актуализация записите в регистрационния файл се изхвърлят при връщане назад и никога не се прилагат към базата данни. Един недостатък на метода за отложено актуализиране е увеличеното време за възстановяване в случай на повреда на системата. От друга страна, честите I / O операции, докато транзакцията е активна, са недостатък при метода за незабавна актуализация.