La recuperación en un SBD consiste en (volver a) dejar la información almacenada en la base de datos en un estado consistente (correcto), después de un fallo (o caída) del sistema que ha llevado la BD a un estado inconsistente, o por lo menos sospechoso! de serlo" Los SBD peque#os no suelen proporcionar soporte para la recuperación" Sí lo hacen los $randes sistemas de base de datos multiusuario" %l módulo componente del S&BD encar$ado de que el SBD sea se$uro frente a posibles fallos, es el Subsistema &estor de 'ecuperación, cua función 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), o se ejecute una operación m*s de una ve+ o, si se hace, que el resultado sea equivalente al obtenido si se hubiera reali+ado una nica ve+"
La técnica de recuperación de doble paginación consiste, cuando ha una caída del sistema o aborto de la transacción, en almacenar la tabla de pa$inación doble en el disco de manera tal que se pueda recuperar el estado anterior de la BD que e-istía antes de la caída del sistema" .uando la transacción termina e-itosamente, la tabla de pa$inación actual se $raba en disco se convierte en la nueva tabla de pa$inación doble para la si$uiente transacción" La estrate$ia de sombreado escribe un bfer actuali+ado en una ubicación diferente del disco, lo que hace mantener mltiples versiones de elementos de datos" %n $eneral, el valor anti$uo del elemento de datos antes de la actuali+ación se denomina ima$en //antes00 (B123, Before 2ma$e), el nuevo valor después de la actuali+ación se denomina ima$en //después00 (4123, 4fter 2ma$e)" %n el sombreado, tanto la B123 como la 4123 pueden ser $uardadas en disco5 por lo tanto, no es estrictamente necesario mantener un diario para la recuperación" 6écnica 6écnica de recuperación recuperación no basada en archivos archivos lo$7 doble pa$inación" 8 Se mantiene dos tablas de pa$inación (usadas para acceder las p*$inas de la BD) durante la vida de la transacción7 6abla de pa$inación actual 6abla de pa$inación doble" 8 La 6abla 6abla de pa$inación doble no se modi9ca en nin$n momento durante la transacción" La tabla de pa$inación actual se cambia cuando se reali+a una operación de escritura"
8 .uando se reali+a una escritura para modi9car un dato que ori$inalmente estaba en la p*$ina i, dicha p*$ina modi9cada se almacena en otra p*$ina j, libre para ese momento, a la cual va a apuntar la tabla de pa$inación actual" :jo" Si una transacción falla antes de lle$ar a su punto de con9rmación, no habr* modi9cado en absoluto la base de datos, por lo que no es necesario Deshacer" %s decir que, como la base de datos nunca se actuali+a antes de con9rmar la transacción, nunca ha necesidad de deshacer operaciones" :;D%S<4.%' Si la técnica de recuperación se ase$ura que todas las actuali+aciones de una transacción se $raben en la base de datos en disco antes de que la transacción se con9rme, nunca habr* necesidad de 'ehacer operaciones de las transacciones con9rmadas" :;'%<4.%'
.uando se hace el .:3326 de una transacción en el esquema de doble pa$inación se hace lo si$uiente7 =" Debe ase$urarse que todas las pa$inas del bu>er en memoria principal que se haan modi9cado se $raben en disco" ?" &rabar en disco la tabla de pa$inación actual" o escribirla sobre la tabla de pa$inación doble, a que esta se puede necesitar para la recuperación de una caída" @" &rabar la dirección en disco de la tabla de pa$inación actual en la posición de memoria que contiene la dirección de la tabla de pa$inación doble" %n el paso @, se borra la dirección de la tabla de pa$inación doble anterior A La tabla de pa$inación actual se convierte en la tabla de pa$inación doble la transacción esta .:3326" Si se presenta una caída antes del paso @ se volver* al estado que e-istía antes de la transacción" Si la caída ocurre después del paso @, los efectos de la transacción se conservaran" &r*9camente7 6abla de pa$inación doble actual de una transacción que hace una $rabación en la cuarta p*$ina de un a BD formada por = p*$inas"
Ventajas y desventajas de la técnica de doble paginación con respecto a la técnica de Archivo LOG:
PAGINAION !N LA "O#$%A La pa$inación en la sombra es una técnica de recuperación alternativa a las basadas en re$istro histórico" Bajo ciertas circunstancias la pa$inación en la sombra puede requerir menos acceso al disco que los métodos basados en re$istro histórico" o obstante, e-isten al$unos inconvenientes en el enfoque de la pa$inación en la sombra" 2$ual que antes, la base de datos se divide en un nmero determinado de bloques de lon$itud 9ja a los que se denominara p*$inas" 6ras la pa$inación en la sombra se mantienen dos tablas de p*$inas durante la vida de una transacción7 la tabla de p*$inas actual las tablas de p*$inas sombra" 2ntuitivamente, el enfoque de la pa$inación en la sombra para recuperación se basa en almacenar la tabla de p*$inas sombra en almacenamiento no vol*til, de modo que puede recuperarse el estado de la base de datos antes de la ejecución de una transacción en caso de producirse una caída del sistema o de que se abortase la transacción" La tabla actual de p*$inas se escribe en almacenamiento no vol*til cuando la transacción se compromete" %ntonces, la tabla actual de p*$inas se convierte en la nueva tabla de p*$inas de sombra se concede el permiso para la ejecución de la si$uiente transacción" La pa$inación en la sombra presenta varias ventajas frente a las técnicas basadas en re$istro histórico" Se elimina la sobrecar$a de escritura del re$istro histórico la recuperación es notablemente m*s r *pida" Sin embar$o la técnica de pa$inación en la sombra también tiene ciertos inconvenientes7 8 Sobrecar$a en el compromiso" 8 1ra$mentación de datos" 8 'eco$ida de basura" 4dem*s de los inconvenientes anteriores, la pa$inación en la sombra presenta m*s di9cultades que las técnicas basadas en re$istro histórico para adaptarla a sistemas que permitan la ejecución concurrente de varias transacciones" Cor todas estas ra+ones no est* mu e-tendido el uso de la pa$inación en la sombra"