Actualització diferida vs actualització immediata
L'actualització diferida i l'actualització immediata són dues tècniques que s'utilitzen per mantenir els fitxers de registre de transaccions dels sistemes de gestió de bases de dades (DBMS). El registre de transaccions (també conegut com a registre de diari o registre de refer) és un fitxer físic que emmagatzema l'identificador de transacció, el segell de temps de la transacció, el valor antic i els valors nous de les dades. Això permet que el SGBD faci un seguiment de les dades abans i després de cada transacció. Quan les transaccions es confirmen i la base de dades es torna a un estat coherent, el registre es pot truncar per eliminar les transaccions compromeses.
Actualització ajornada
L'actualització diferida també anomenada NO-UNDO/REDO és una tècnica que s'utilitza per recuperar/suportar errors de transaccions que es produeixen a causa de fallades del sistema operatiu, l'alimentació, la memòria o la màquina. Quan s'executa una transacció, les actualitzacions o alteracions fetes a la base de dades per la transacció no es fan immediatament. Es registren al fitxer de registre. Els canvis de dades registrats al fitxer de registre s'apliquen a la base de dades durant la confirmació. Aquest procés s'anomena "Re-fer". En retrocedir, es descarta qualsevol canvi a les dades registrades al fitxer de registre; per tant, no s'aplicaran canvis a la base de dades. Si una transacció falla i no es confirma per qualsevol dels motius esmentats anteriorment, els registres del fitxer de registre es descarten i la transacció es reinicia. Si els canvis en una transacció es confirmen abans de fallar, després de reiniciar el sistema, els canvis registrats al fitxer de registre s'apliquen a la base de dades.
Actualització immediata
L'actualització immediata també anomenada UNDO/REDO, és també una altra tècnica que s'utilitza per recuperar/suportar errors de transaccions que es produeixen a causa de fallades del sistema operatiu, l'alimentació, la memòria o la màquina. Quan s'executa una transacció, qualsevol de les actualitzacions o alteracions fetes per la transacció s'escriu directament a la base de dades. Tant els valors originals com els nous valors també es registren al fitxer de registre abans que es facin canvis a la base de dades. En confirmar, tots els canvis fets a la base de dades es fan permanents i es descarten els registres del fitxer de registre. En retrocedir, els valors antics es restauren a la base de dades mitjançant els valors antics emmagatzemats al fitxer de registre. Es descarten tots els canvis fets per transaccions a la base de dades i aquest procés s'anomena "Desfer". Quan el sistema es reinicia després d'un error, tots els canvis de la base de dades es fan permanents per a les transaccions compromeses. Per a les transaccions no compromeses, els valors originals es restauren mitjançant els valors del fitxer de registre.
Quina diferència hi ha entre l'actualització diferit i l'actualització immediata
Tot i que l'actualització diferit i l'actualització immediata són dos mètodes per recuperar-se després d'una fallada del sistema, el procés que utilitza cada mètode és diferent. En el mètode d'actualització diferent, els canvis fets a les dades per una transacció s'enregistren primer en un fitxer de registre i s'apliquen a la base de dades durant la confirmació. En el mètode d'actualització immediata, els canvis fets per una transacció s'apliquen directament a la base de dades i els valors antics i els nous s'enregistren al fitxer de registre. Aquests registres s'utilitzen per restaurar valors antics en retrocedir. En el mètode d'actualització diferent, els registres del fitxer de registre es descarten en retrocedir i mai s'apliquen a la base de dades. Un desavantatge del mètode d'actualització diferit és l'augment del temps necessari per recuperar-se en cas d'error del sistema. D' altra banda, les operacions d'E/S freqüents mentre la transacció està activa, és un desavantatge en el mètode d'actualització immediata.