![]() |
||
TECNICAS AVANZADAS DE RECUPERACION
Las técnicas de recuperación requieren que, una vez que una transacción modifica un elemento de datos, ninguna otra pueda modificar el mismo elemento de datos hasta que la primera se comprometa o retroceda. Utilizando el bloqueo estricto de dos fases se garantiza esa condición. Se han propuesto varias técnicas de recuperación alternativas que pueden aplicarse incluso con bloqueos de liberación rápida. Registro de Deshacer Lógico Si se usa una operación deshacer física, es decir si durante el retroceso se describen los valores de los nodos internos del árbol B+ (antes de ejecutar la operación de inserción), podrían perderse algunas de las modificaciones realizadas por inserciones o borrados ejecutados posteriormente por otras transacciones. La operación inserción no debe deshacerse así, sino con una operación deshacer lógica, esto es, mediante la ejecución de una operación de borrado de este caso. Así cuando finaliza la acción de inserción, antes de que libere ningún bloqueo, escribe en el registro histórico un registro <Ti, Oj, fin-operación, U> donde D denota la información para deshacer y Oj es un identificador único de la operación. Este registro histórico de información acerca de las operaciones se denomina registro histórico lógico. En cambio, el registro histórico de la información sobre el valor anterior y el nuevo valor se denomina registro histórico físico, y los correspondientes registros del registro histórico se llaman registros del registro histórico físico. Las operaciones de inserción y borrado son ejemplos de un tipo de operaciones que requiere operaciones deshacer lógica ya que liberan rápidamente los bloqueos. Estas operaciones se denominan operaciones lógicas. Retroceso de Transacciones Considérese primero el retroceso de transacciones durante el modo de operación normal (esto es, no durante la fase de recuperación). Se recorre el riesgo histórico hacia atrás y se usan los registros del registro histórico pertenecientes a la transacción para devolver a los elementos de datos sus valores anteriores. Se toman acciones especiales cuando se encuentra un registro del registro histórico de la forma <Ti, Oj, fin-operación, U>: el sistema registra información de deshacer física para las actualizaciones realizadas durante el retroceso, en lugar de usar registros de compensación del registro histórico.continua el recorrido hacia atrás del registro histórico, el sistema omite todos los registros del registro histórico de la transacción hasta que encuentra el registro <Ti, Oj, inicio-operación> Puntos de Revisión se escriben en almacenamiento estable todos los registros del registro histórico que se encuentren en ese momento en la memoria principal.escriben en disco todos los bloques de la memoria intermedia que se hayan modificado.escribe en almacenamiento el registro <revisión L>, donde L es una lista de todas las transacciones activas. Recuperación al Reiniciar en la fase rehacer se vuelven a realizar modificaciones de todas las transacciones mediante la exploración hacia delante del registro histórico a partir del ultimo punto de revisión.la fase deshacer retroceden todas las transacciones de la lista-deshacer. El retroceso se realiza recorriendo el registro histórico hacia atrás empezando por el final. Revisión Difusa La revisión difusa requiere que, mientras se efectúa el punto de revisión, se suspendan temporalmente todas las modificaciones de la base de datos. Si el número de páginas de la memoria intermedia es grande, un punto de revisión puede llevar mucho tiempo, lo que puede provocar una interrupción inaceptable en el procesamiento de transacciones. Para evitar estas interrupciones es posible modificar la técnica para permitir modificaciones después de haber escrito en el registro histórico el registro revisión, pero antes de escribir en disco los bloques de la memoria intermedia que han sufrido modificaciones. El punto de revisión así generado recibe el nombre de punto de revisión difuso. ARIES El método de recuperación ARIES es un representante de los métodos actuales de recuperación. ARIES utiliza varias técnicas para reducir el tiempo de recuperación y para reducir la sobrecarga de los puntos de revisión. En particular, ARIES es capaz de evitar rehacer muchas operaciones registradas que ya se han realizado y de reducir la cantidad de información registrada. Las diferencias principales entre ARIES y el algoritmo de recuperación avanzada expuesto son que ARIES: usa un numero de secuencia del registro histórico (NSR)operaciones rehacer fisiológicasuna tabla de paginas desfasadasun esquema de revisión difusa que solo registra información sobre las páginas desfasadas e in formación asociada, y no requiere siquiera escritura de las páginas desfasadas a disco. Estructura de Datos Cada registro del registro histórico de ARIES tiene un número de secuencia del registro histórico (NSR) que lo identifica unívocamente. El número es conceptualmente tan solo un identificador lógico cuyo valor es mayor para los registros que aparecen después en el registro histórico. En la práctica, el NSR se genera de forma que también se puede usar para localizar el registro del registro histórico en disco. Normalmente ARIES divide el registro histórico en varios archivos de registro histórico, cada uno con un número de archivo. Cuando un archivo crece hasta determinado limite, ARIES añade los nuevos registros del registro histórico en un nuevo archivo; el nuevo archivo de registro histórico tiene un numero de archivo que es 1 mayor que el anterior archivo. El NSR consiste en un número de archivo y un desplazamiento dentro del archivo. Cada página también mantiene un identificador denominado NSRPagina. Cada vez que se aplica una operación (física o lógica) en la pagina. Durante la fase rehacer de la recuperación cualquier registro con un NSR menor o igual que el NSRpagina de la página no se debería ejecutar, ya que sus acciones ya están reflejadas en la página. En combinación con un esquema para el registro de los NSRpagina como parte de los puntos de revisión, ARIES puede evitar incluso leer muchas paginas cuyas operaciones registradas ya se han reflejado en el disco. Por tanto, el tiempo de recuperación se reduce significativamente. |
![]() |