Logo Studenta

I Técnicas de recuperación

¡Estudia con miles de materiales!

Vista previa del material en texto

Definición Procedimiento Explicación Problemas
Con pérdida 
de memoria 
volátil
Actualización diferida
Garantiza la atomicidad de las transacciones 
mediante el almacenamiento de las modificaciones 
en el registro histórico, pero retardando la 
actualización en la base de datos hasta que la 
transacción se compromete parcialmente
Rehacer la transacción para todas aquellas transacciones 
iniciadas y comprometidas. Así, si el sistema cae después 
de que la transacción complete su ejecución, la 
información en el registro histórico se utiliza para restituir 
el sistema a un estado consistente anterior.
Los datos se actualizan en memoria secundaria cuando la 
transacción se compromete parcialmente, ya que se usarán 
para la ejecución de las escrituras diferidas. Si el sistema cae 
antes de que la transacción complete su ejecución o si la 
transacción aborta, la información del registro histórico se 
ignora. Por eso, los registros del registro histórico, en este 
caso, no guardan el valor inicial del dato ya que sólo se 
rehace la transacción: en cualquier estado en que se 
encuentre la base de datos, el resultado final es consistente 
(los valores de los datos serán los correctos). Al sólo rehacer 
los cambios, la recuperación es más rápida.
En transacciones largas, la memoria intermedia 
puede verse sobrecargada, ya que los datos 
actualizados no se escribirán en disco hasta que 
se comprometa la transacción, quedando un 
gran volumen de datos en la memoria 
intermedia.
Actualización inmediata
Permite realizar escrituras en la base de datos 
mientras la transacción aún se encuentra en estado 
activo.
●Deshacer la transacción, para todas aquellas 
transacciones iniciadas y no comprometidas, usando los 
valores iniciales.
●Deshacer y luego rehacer la transacción para todas 
aquellas
Los datos se escriben en disco a medida que se ejecuta la 
transacción (antes de que cada operación de la transacción 
se inicie). Las modificaciones de datos escritas por 
transacciones activas se denominan modificaciones no 
comprometidas. En este caso sí importan los valores 
iniciales: se los usa para restaurar los elementos de datos 
modificados a los valores que tuvieran antes de comenzar la 
transacción. La acción de recuperación dependerá de en qué 
estado estaba la transacción en el momento en el que se 
cayó el sistema.
La recuperación es más lenta, ya que deshace 
las transacciones no comprometidas y deshace 
y rehace aquellas que quedaron 
comprometidas.
ARIES
ARIES es un algoritmo de recuperación avanzado 
que intenta reducir el tiempo de recuperación.
• Cada registro del registro histórico tiene un número 
de secuencia del registro histórico (NSR). También 
utiliza estos números en las páginas de la BD 
(NSRPágina) para identificar operaciones realizadas 
sobre ellas.
• Tabla de páginas desfasadas o sucias (páginas 
actualizadas en memoria pero no en disco), para 
minimizar las operaciones rehacer innecesarias 
durante la recuperación.
• Esquema de revisión difusa.
El algoritmo ARIES consta de tres pasos:
a) Análisis. Se identifican las páginas sucias que residían 
en el buffer pool y el conjunto de transacciones en vuelo 
en el instante del fallo del sistema. También se establece 
el punto del log para aplicación de los siguientes pasos 
que coincide con el último registro de CheckPoint.
b) Redo. Se aplican las acciones para la reconstrucción 
hacia adelante de las transacciones que ganaron el 
COMMIT. Se parte del punto de inicio establecido para la 
recuperación en el log.
c) Undo. El log se rastrea hacia atrás desde el punto del 
fallo hasta el punto marcado en el log como inicio de la 
recuperación deshaciendo cambios en las páginas de la 
BDF afectadas por transacciones que no ganaron el 
COMMIT llegado el instante del fallo.
ARIES realiza las siguientes acciones en los puntos de 
control del sistema:
a) Escribe un registro de inicio de checkpoint en el log.
b) Escribe un registro de fin de checkpoint en el log al que 
van añadidas las tablas de transacciones activas y la tabla 
de páginas sucias.
c) Salva el LSN del registro de inicio de checkpoint en un 
fichero especial de acceso rápido. Este fichero de acceso 
rápido se utiliza durante el procedimiento de rearranque 
en caliente para acceder inmediatamente al punto del log 
del último checkpoint.cciones en los puntos de control del 
sistema:
ARIES mantiene las siguientes tablas para garantizar una 
recuperación eficiente:
a) Tabla de transacciones activas o en vuelo. Contiene una 
entrada para cada transacción activa con información del ID 
de la transacción, estado de la misma y puntero LSN al 
registro más reciente de la transacción en el log.
b) Tabla de páginas sucias. Contiene una entrada para cada 
página sucia en el buffer pool que incluye el ID de la página y 
el LSN correspondiente al registro en el log del estado 
actualizado inmediatamente anterior de la página.
ARIES tiene activamente una lista de estas páginas, 
registrando los siguientes datos en este orden:
 ● ID de página o bloque (NSR).
● Cuál es la última línea del registro histórico
● Cuál es la primera línea del registro histórico que modificó 
esa página o bloque (la que la desfasó).
ARIES maneja otra lista: la lista de transacciones abiertas 
que contiene, para cada una de ellas, el ID de transacción y 
la última línea de la misma. 
En ARIES, cada punto de revisión en el registro histórico 
guarda las dos tablas mencionadas y, en función de las 
mismas, analiza todo lo que ocurrió desde el punto de 
revisión hasta que falló el sistema (a esto se lo denomina 
esquema de revisión difuso), luego determina qué 
transacciones es necesario rehacer (y las rehace) y, 
finalmente, cuáles hay que deshacer (y las deshace). 
Ambas tablas se guardan en memoria secundaria sólo 
cuando hay puntos de revisión. Es decir, en el momento del 
crash no voy a tener los últimos datos en estas dos tablas. 
Con pérdida 
de memoria 
no volátil
Completo (full back up)
• Incluye toda la base de datos, partes del registro 
histórico, esquema de base de datos y estructura de 
archivos.
• Sirve como base para realizar los otros dos tipos 
de back up. Almacena información redundante ya 
que los valores de datos que no se modificaron se 
vuelven a copiar.
Diferencial
• Permite respaldar los datos modificados desde el 
último back up completo. Por este motivo,
• requiere que haya sido realizado antes un full back 
up.
Lo que se guarda son las diferencias entre el último 
dato guardado en el back up completo. Al restaurar, 
se suma ese valor al diferencial para restaurar el 
dato.
Incremental
• Realiza un respaldo de todos los datos 
modificados desde el último respaldo.
• Dado que almacena los cambios desde la última 
modificación (y no desde la última copia completa), 
para recuperar se requieren todas las 
modificaciones que se hicieron desde el último back 
up completo y realizar todos los cálculos para llegar 
al valor más reciente. Si se llegase a perder una 
modificación, la recuperación se vuelve imposible.
• Toma menos tiempo de ejecución que un back up 
diferencial, pero toma más tiempo de recuperación y 
es más complejo de manejar.

Continuar navegando