Recuperacion

Páginas: 8 (1828 palabras) Publicado: 15 de abril de 2012
Conceptos de Recuperación
de Información en Bases de
Datos
[EN - 21]

CSI-INCO

Fundamentos de Bases de Datos

1

De que hay que Recuperarse?


En un sistema, se pueden dar fallas que pongan en riesgo la
integridad y la existencia misma de la base y por lo tanto de los
datos.



Error en la transacción o del sistema: Ej. División por 0



Excepciones sin programar. Ej.no están los datos necesarios para realizar
la transacción.



Por el control de concurrencia. Ej. Para evitar deadlock.



Falla en el disco.




Fallas en la CPU: Ej. falla en la memoria.

Catástrofes. Ej. Incendios, robo, etc.

En cualquier caso, el DBMS debe poder recuperar un estado
consistente y conocido de la base.

CSI-INCO

Fundamentos de Bases de Datos

21

Conceptos de Recuperación de
Información: Temario


Conceptos Basicos


Escenario de Trabajo.



El Log



Algoritmos de Recuperación



Checkpoint



Rollback



Actualización Diferida



Actualización Inmediata



Shadow Pages

CSI-INCO

Fundamentos de Bases de Datos

3

Escenario de Trabajo

El LOG de la base es el registro de todaslas operaciones que realizan en cada
transacción.
DBMS

Log

CSI-INCO

BD

Fundamentos de Bases de Datos

4

2

El Log del DBMS


Es un registro de la actividad sobre la base, típicamente
con entradas como las siguientes:


[start_transaction,T]: Comenzó la transacción T



[write_item,T,X,v_ant,v_actual]: La transacción T cambió
el item X del valor v_ant al valorv_act.



[read_item,T,X]: La transacción T leyó el valor del item X



[commit,T]: La transacción T confirma que todos los efectos
deben ser permanentes en la base.



[abort, T]: La transacción T abortó, por lo que ningún
cambio realizado por T debe ser permanente en la base

CSI-INCO

Fundamentos de Bases de Datos

5

Construcción y Uso del Log.




Cada vez queuna transacción va a realizar una
operación en la base, se agrega un registro en el log.
Típicamente esta actualización se hace en un buffer en
memoria, por lo que cuando una transacción T
confirma:





Primero se baja a disco todo el log de T que ya no esté
guardado.
Luego se actualiza la base con los efectos de la transacción.

Nunca se debe perder a la vez la base y el log porlo
que:



Deben estar en discos distintos
Deben realizarse respaldos independientes de uno y otro.

CSI-INCO

Fundamentos de Bases de Datos

6

3

Algoritmos de Recuperación


Si hubo un desastre (se pierde el disco, etc.) entonces:






Se debe recuperar el último respaldo conocido de la base.
Se debe recuperar el LOG hasta donde se pueda
Se deben rehacer(redo) todas las operaciones indicadas en el
log desde el momento en que se hizo el respaldo a la base.

Si la falla fue menor (corte de energía, falla en la red,
etc):



puede ser que haya que deshacer (undo) cambios ya
realizados.
puede ser que haya que rehacer cambios que no se hayan
confirmado.

CSI-INCO

Fundamentos de Bases de Datos

7

Algoritmos de Recuperación:Actualización Diferida e Inmediata


Si la falla no fue catastrófica, hay dos técnicas básicas:


Actualización Diferida: Cada transacción trabaja en un área
local de disco o memoria y recién se baja al disco después que
la transacción alcanza el commit.




Actualización Inmediata: La base es actualizada antes de
que la transacción alcance el commit.




Si hay un abort o unafalla, no es necesario deshacer ninguna
operación (NO-Undo/Redo).

Si hay un abort o falla, se deben deshacer las operaciones de la
transacción.

Siempre se graba primero el Log para garantizar la
recuperación.

CSI-INCO

Fundamentos de Bases de Datos

8

4

BeFore IMage y AFter IMage


Para que el mecanismo de recuperación sea viable, es
necesario considerar al menos dos...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Recuperacion
  • recuperacion
  • recuperacion
  • recuperacion
  • recuperacion
  • Recuperacion
  • recuperacion
  • RECUPERACION

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS