2. Administración de Base de Datos
Recuperación de datos
Profesora: Mercy Ospina
Mercy.ospinat@gmail.com
UNIVERSIDAD CENTRAL DE VENEZUELA
FACULTAD DE CIENCIAS
ESCUELA DE COMPUTACIÓN
7. •
Transacción - Estados
Marzo 2012 Administración de Base de Datos 7
Activa
Parcialmente
confirmada
confirmada
Fallida Terminar
Leer, escribir
Ultima
instrucciónInicio de
transacción
commit
rollback
rollback
8. • En un Sistema de Base de Datos restaurar la BD
significa:
• Realmacenar la Base de datos en un estado correcto, lo
más reciente posible, si la falla ha hecho que la BD quede
en un estado incorrecto.
• Implica Redundancia (almacenar los estados correctos)
de manera que la BD pueda ser reconstruida con estos.
¿Qué es restauración?
Marzo 2012 Administración de Base de Datos 8
9. Agenda
Acceso a los datos por una transacción
Tipos de fallas
Técnicas de Recuperación
Transacción
Log
Doble paginación
Doble paginación
10. Tipos de fallas en un SBD
Marzo 2012 Administración de Base de Datos 10
Recuperación
11. Tipos de fallas en un SBD
Marzo 2012 Administración de Base de Datos 11
Recuperación
12. Agenda
Acceso a los datos por una transacción
Tipos de fallas
Técnicas de Recuperación
Transacción
Log
Doble paginación
Doble paginación
13. ¿Qué pasa si se cae el sistema, antes de copiar X a
disco?
Acceso a datos por una transacción
Marzo 2012 Administración de Base de Datos 13
B
A B
Input (A) Output (B)
Memoria principal
Área de trabajo de Ti
Xi
X
Leer(X)
Escribir(X)
• La salida a disco de X no es
inmediata.
• Depende de la política de sustitución
de memoria principal
14. Agenda
Acceso a los datos por una transacción
Tipos de fallas
Técnicas de Recuperación
Transacción
Log
Doble paginación
Doble paginación
15. • Recuperación basada en Log
• Registros del log
• Modificacion diferida
• Modificación inmediata
• Proceso de recuperación con log
• Tres pasadas
• Dos pasadas
• Checkpoint
Log = bitácora = registro histórico
Técnicas de Recuperación - Fallas del sistema
Marzo 2012 Administración de Base de Datos 15
16. • Log o registro histórico:
• Estructura que almacena estados de la base de datos,
basado en las transacciones
Recuperación basada en log
Marzo 2012 Administración de Base de Datos 16
• Ti: Identificador de la transacción
• IA: Imagen o estado antes de la modificación
• ID: Imagen o estado después de la
modificación
Registros del Log
•Inicio de la transacción Ti: <Ti, BT>
•Fin de la transacción Ti: <Ti, ET> o <Ti, Commit> culminación exitosa
• <Ti, Rollback> culminación fallida
•Cambios en los registros de la BD: <Ti, R, IA, ID>
17. Recuperación basada en log
Marzo 2012 Administración de Base de Datos 17
B
A B
Input (A) Output (B)
Área de trabajo de Ti
XiX
Leer(X)
Escribir(X)
Buffer de datos
Buffer
del log
Output (C)
C
Escribir_reg_log(Rn)
Log
R1, R2, (Ti, X, IA, ID)
19. • Modificación diferida:
• Retarda las operaciones escribir de una transacción hasta
que se compromete parcialmente
• Si el sistema falla antes de que la transacción s complete,
se ignora en el proceso de recuperación
• En el LOG no se registran las imágenes antes, por lo que:
• Los registros de actualización son de la forma <Ti, X, ID>
• No se deshace
Recuperación basada en log
Marzo 2012 Administración de Base de Datos 19
Recuperación
20. • Modificación inmediata:
• Permite las operaciones escribir de una transacción
mientras esta está activa (modificaciones no
comprometidas)
• Si el sistema falla se debe usar los valores del Log para
restaurar los elementos de datos a los valores anteriores
a la transacción
• En el LOG
• Los registros de actualización son de la forma <Ti, X, IA, ID>
• Se realizan los cambios en el Log antes de la actualización real a
la BD.
Recuperación basada en log
Marzo 2012 Administración de Base de Datos 20
Recuperación
22. • Proceso de restauracion (3 pasadas)
• Se recorre el log del fin al inicio para crear dos listas
• REDO o transacciones terminadas
• UNDO o transacciones no terminadas
• Se recorre el log de inicio a fin para Rehacer las
transacciones en REDO
• Se recorre el log de fin a inicio para Deshacer las
transacciones en UNDO
Recuperacion basada en el log
Marzo 2012 Administración de Base de Datos 22
23. • Proceso de restauracion (2 pasadas)
• Se recorre el log del fin al inicio para:
• Crear la lista REDO
• Deshacer las transacciones no terminadas
• Se recorre el log de inicio a fin para Rehacer las
transacciones en REDO
• El log puede llegar a tener muchos registros
Recuperacion basada en el log
Marzo 2012 Administración de Base de Datos 23
24. • Cuando se realiza el proceso de restauración
• Recorrer el Log consume tiempo
• La mayoría de las transacciones a Rehacer (de acuerdo al
algoritmo) ya tienen sus actualizaciones escritas en la BD
• ¿Como hacer para no recorrer el log completo?
• Se usa el checkpoint o punto de verificación
Recuperación basada en log - con checkpoint
Marzo 2012 Administración de Base de Datos 24
Recuperación
25. Recuperación basada en log con checkpoint
Marzo 2012 Administración de Base de Datos 25
B
A B
Output (A) Output (B)
Área de trabajo de Ti
XiX
Leer(X)
Escribir(X)
Buffer de datos
Buffer del log
Output (C)
C Log
(Ti, X, IA, ID) (CP, L)
Proceso de checkpoint
1
2
3
27. • Con la ejecución anterior y los siguientes valores
iniciales de los elementos de datos
• Construya el log hasta el momento de la falla
• Indique que pasa en el momento 10.
• A=5, B=12, C=30, D=20, E=8
Recuperación basada en log con checkpoint
Marzo 2012 Administración de Base de Datos 27
28. • Proceso de recuperación
Recuperación basada en log
con checkpoint
Marzo 2012 Administración de Base de Datos 28
29. Directorio
Actual
1
2
3
4
5
Recuperación basada en
Doble paginación
Marzo 2012 Administración de Base de Datos 29
Recuperación
Bloques (Páginas)
Disco de la BD
Directorio
Doble o Sombra
Página 5
(antigua)
Página 1
Página 4
Página 2
(antigua)
Página 3
Página 2
(nueva)
Página 5
(nueva)
1
2
3
4
5
1. Se lleva el directorio a
memoria principal
2. Cada vez que se inicia
una transacción T se
copia el directorio
actual en disco
(sombra)
3. Si se actualiza se
modifica el directorio
actual
4. Si T es exitosa el
directorio actual es el
nuevo directorio
5. Si no, se vuelve al
directorio sombra
Directorio
Actual
31. Recuperación en fallas de almacenamiento
Marzo 2012 Administración de Base de Datos 31
Recuperación
32. Componentes del SMBD
Marzo 2012 Administración de Base de Datos 32
Procesador
de Consultas
Gestor de
almacenamiento
S
M
B
D
Precompilador del
DML
Precompilador del
DML
Código objeto de
programas de
aplicación
Código objeto de
programas de
aplicación
Motor de
evaluación de
consultas
Motor de
evaluación de
consultas
Consultas DML
Compilador del
DML
Compilador del
DML
Interprete del
DDL
Interprete del
DDL
Gestor de
transacciones
Gestor de
transacciones
Gestor de archivosGestor de archivos
Gestor de
memoria
intermedia
Gestor de
memoria
intermedia
Gestor de
autorización e
integridad
Gestor de
autorización e
integridad
Archivos
de Datos Índices
Diccionario de
datos
Datos
estadísticos
Almacenamiento en
disco
Logs
35. Administración de Base de datos
Recuperación de Datos
Profesora: Mercy Ospina
Mercy.ospinat@gmail.com
UNIVERSIDAD CENTRAL DE VENEZUELA
FACULTAD DE CIENCIAS
ESCUELA DE COMPUTACIÓN