Вы находитесь на странице: 1из 7

La recuperacin en un SBD consiste en (volver a) dejar la informacin

almacenada en la base de datos en un estado consistente (correcto), despus


de un fallo (o cada) del sistema que ha llevado la BD a un estado
inconsistente, o por lo menos sospechoso de serlo.
Los SBD pequeos no suelen proporcionar soporte para la recuperacin. S lo
hacen los grandes sistemas de base de datos multiusuario. El mdulo
componente del SGBD encargado de que el SBD sea seguro frente a posibles
fallos, es el Subsistema Gestor de Recuperacin, cuya funcin es, entre otras
cosas, velar por que...
Las transacciones no se pierdan (es decir, que se ejecuten),
Las transacciones no se realicen parcialmente (deben ejecutarse en su
totalidad),
No se ejecute una operacin ms de una vez o, si se hace, que el resultado sea
equivalente al obtenido si se hubiera realizado una nica vez.
La tcnica de recuperacin de doble paginacin consiste, cuando hay una
cada del sistema o aborto de la transaccin, en almacenar la tabla de
paginacin doble en el disco de manera tal que se pueda recuperar el estado
anterior de la BD que exista antes de la cada del sistema. Cuando la
transaccin termina exitosamente, la tabla de paginacin actual se graba en
disco y se convierte en la nueva tabla de paginacin doble para la siguiente
transaccin.
La estrategia de sombreado escribe un bfer actualizado en una ubicacin
diferente del disco, lo que hace mantener mltiples versiones de elementos de
datos.
En general, el valor antiguo del elemento de datos antes de la actualizacin se
denomina imagen <<antes>> (BFIM, Before Image), y el nuevo valor despus
de la actualizacin se denomina imagen <<despus>> (AFIM, After Image). En
el sombreado, tanto la BFIM como la AFIM pueden ser guardadas en disco; por
lo tanto, no es estrictamente necesario mantener un diario para la
recuperacin.
Tcnica de recuperacin no basada en archivos log: doble paginacin.
Se mantiene dos tablas de paginacin (usadas para acceder las pginas de la
BD) durante la vida de la transaccin: Tabla de paginacin actual y Tabla de
paginacin doble.
La Tabla de paginacin doble no se modifica en ningn momento durante la
transaccin. La tabla de paginacin actual se cambia cuando se realiza una
operacin de escritura.

Cuando se realiza una escritura para modificar un dato que originalmente


estaba en la pgina i, dicha pgina modificada se almacena en otra pgina j,
libre para ese momento, a la cual va a apuntar la tabla de paginacin actual.
Ojo. Si una transaccin falla antes de llegar a su punto de confirmacin, no
habr modificado en absoluto la base de datos, por lo que no es necesario
Deshacer. Es decir que, como la base de datos nunca se actualiza antes de
confirmar la transaccin, nunca hay necesidad de deshacer operaciones.
NO/DESHACER
Si la tcnica de recuperacin se asegura que todas las actualizaciones de una
transaccin se graben en la base de datos en disco antes de que la transaccin
se confirme, nunca habr necesidad de Rehacer operaciones de las
transacciones confirmadas. NO/REHACER

Cuando se hace el COMMIT de una transaccin en el esquema de doble


paginacin se hace lo siguiente:
1. Debe asegurarse que todas las paginas del buffer en memoria principal que
se hayan modificado se graben en disco.
2. Grabar en disco la tabla de paginacin actual. No escribirla sobre la tabla de
paginacin doble, ya que esta se puede necesitar para la recuperacin de una
cada.
3. Grabar la direccin en disco de la tabla de paginacin actual en la posicin
de memoria que contiene la direccin de la tabla de paginacin doble.
En el paso 3, se borra la direccin de la tabla de paginacin doble anterior La
tabla de paginacin actual se convierte en la tabla de paginacin doble y la
transaccin esta COMMIT.
Si se presenta una cada antes del paso 3 se volver al estado que exista
antes de la transaccin. Si la cada ocurre despus del paso 3, los efectos de la
transaccin se conservaran.
Grficamente: Tabla de paginacin doble y actual de una transaccin que hace
una grabacin en la cuarta pgina de una BD formada por 10 pginas.

Ventajas y desventajas de la tcnica de doble paginacin con respecto


a la tcnica de Archivo LOG:

PAGINACION EN LA SOMBRA
La paginacin en la sombra es una tcnica de recuperacin alternativa a las
basadas en registro histrico. Bajo ciertas circunstancias la paginacin en la
sombra puede requerir menos acceso al disco que los mtodos basados en
registro histrico. No obstante, existen algunos inconvenientes en el enfoque
de la paginacin en la sombra.
Igual que antes, la base de datos se divide en un nmero determinado de
bloques de longitud fija a los que se denominara pginas. Tras la paginacin en
la sombra se mantienen dos tablas de pginas durante la vida de una
transaccin: la tabla de pginas actual y las tablas de pginas sombra.
Intuitivamente, el enfoque de la paginacin en la sombra para recuperacin se
basa en almacenar la tabla de pginas sombra en almacenamiento no voltil,
de modo que puede recuperarse el estado de la base de datos antes de la
ejecucin de una transaccin en caso de producirse una cada del sistema o de
que se abortase la transaccin. La tabla actual de pginas se escribe en
almacenamiento no voltil cuando la transaccin se compromete. Entonces, la
tabla actual de pginas se convierte en la nueva tabla de pginas de sombra y
se concede el permiso para la ejecucin de la siguiente transaccin.
La paginacin en la sombra presenta varias ventajas frente a las tcnicas
basadas en registro histrico. Se elimina la sobrecarga de escritura del registro
histrico y la recuperacin es notablemente ms rpida. Sin embargo la tcnica
de paginacin en la sombra tambin tiene ciertos inconvenientes:
Sobrecarga en el compromiso.
Fragmentacin de datos.
Recogida de basura.
Adems de los inconvenientes anteriores, la paginacin en la sombra presenta
ms dificultades que las tcnicas basadas en registro histrico para adaptarla a
sistemas que permitan la ejecucin concurrente de varias transacciones. Por
todas estas razones no est muy extendido el uso de la paginacin en la
sombra.

Вам также может понравиться