El documento describe conceptos clave de la administración de bases de datos como transacciones, estados de transacciones, tipos de fallas, técnicas de recuperación como registro histórico, modificación diferida e inmediata, checkpoint y doble paginación. Explica cómo el registro histórico permite reconstruir la base de datos después de una falla mediante procesos de rehacer y deshacer transacciones.
1. Administración de Base de Datos
Recuperación
Prof Mercy Ospina Torres
mercy.ospinat@gmail.com
2. Contenido
El DBA • Transacciones
– Propiedades
El SMBD
– Estados
Manejo de Memoria
• Tipos de fallas
Restauración
Recuperación
• Acceso a los datos por las transacciones
Concurrencia • Recuperación después de una falla
Diccionario Datos – Log o registro histórico
Proc. Consultas – Modificaciones a la base de datos
– Checkpoint
Integridad
– Log con memoria intermedia
Seguridad
– Doble paginación
– Fallas en los medios de almacenamiento
Marzo 2012 Administración de Base de Datos 2
3. Transacción
• Conjunto de operaciones que forman una unidad
El DBA
lógica de trabajo
El SMBD • El SMBD debe garantizar que se realicen
Manejo de Memoria adecuadamente a pesar de la existencia de fallos
• Puede iniciar con una instrucción BEGIN
Restauración
Recuperación TRANSACTION (depende del SMBD)
Concurrencia • Hay dos operaciones obligatorias
Diccionario Datos
– COMMIT: transacción exitosa los cambios se deben
hacer efectivos
Proc. Consultas – ROLLBACK: transacción no exitosa los cambios se
deben deshacer.
Integridad
Seguridad
Marzo 2012 Administración de Base de Datos 3
4. Transacción
Propiedades
• Atómica: Se ejecuta completa o no se ejecuta.
El DBA
• Consistente: la BD debe quedar en un estado
El SMBD consistente una vez terminada la transacción
Manejo de Memoria (exitosamente o no)
• aIslada: Aunque varias transacciones se ejecuten
Restauración
Recuperación de manera concurrente, cada una ignora lo que
Concurrencia hacen las demás
• Durable: Una vez que una transacción ha
Diccionario Datos
culminado exitosamente los cambios deben
Proc. Consultas permanecer en el tiempo.
Integridad
Seguridad
Marzo 2012 Administración de Base de Datos 4
5. Transacción
Estados
El DBA • Leer, escribir
El SMBD
Ultima
Manejo de Memoria Inicio de instrucción commit
transacción Parcialmente
Activa confirmada
Restauración
Recuperación confirmada
Concurrencia rollback
Diccionario Datos rollback
Fallida Terminar
Proc. Consultas
Integridad
Seguridad
Marzo 2012 Administración de Base de Datos 5
6. ¿Qué es restauración?
El DBA • En un Sistema de Base de Datos restaurar
la BD significa:
El SMBD
– Realmacenar la Base de datos en un estado
Manejo de Memoria
correcto, lo más reciente posible, si la falla ha
Restauración
hecho que la BD quede en un estado
incorrecto.
Concurrencia – Implica Redundancia (almacenar los estados
Diccionario Datos correctos) de manera que la BD pueda ser
reconstruida con estos.
Proc. Consultas
Integridad
Seguridad
Marzo 2012 Administración de Base de Datos 6
7. Tipos de fallas en un SBD
El DBA Fallas locales a la transacción
El SMBD •a) son detectadas por el código de la aplicación y son manejadas
por este. Ejemplo: Condición de fondos insuficientes en la
Manejo de Memoria transferencia
•b) no son explícitamente manejadas por el código de aplicación.
Ejemplo: Overflow aritmético.
Restauración
Recuperación
Concurrencia
Fallas en el sistema
Diccionario Datos •Afectan a todas las transacciones que se están realizando en
ese momento, pero no daña la BD. Ejemplo: Falla del CPU, falla
de alimentación eléctrica, falla de software
Proc. Consultas
Integridad Fallas en los medios de almacenamiento
Seguridad •Dañan la BD o una porción de esta y afectan a todas las
transacciones que estaban usando esa porción en el momento
de la falla. Ejemplo: Cabeza lectora que raya el disco.
Marzo 2012 Administración de Base de Datos 7
8. Acceso a datos por una
transacción
El DBA ¿Qué pasa si se cae el sistema, antes de
copiar X a disco?
El SMBD
Memoria principal
Manejo de Memoria
Leer(X)
Restauración
Recuperación X
Xi
Concurrencia
B Escribir(X)
Diccionario Datos Área de trabajo de Ti
Proc. Consultas
Input (A) Output (B) • La salida a disco de X
Integridad no es inmediata.
• Depende de la política
Seguridad
A B de sustitución de
memoria principal
Marzo 2012 Administración de Base de Datos 8
9. Técnicas de Recuperación
Fallas del sistema
El DBA • Recuperación basada en Log
– Registros del log
El SMBD
– Modificacion diferida
Manejo de Memoria
– Modificación inmediata
Restauración • Proceso de recuperación con log
Concurrencia – Tres pasadas
Diccionario Datos
– Dos pasadas
– Checkpoint
Proc. Consultas
• Doble paginación
Integridad
Seguridad
Log = bitácora = registro histórico
Marzo 2012 Administración de Base de Datos 9
10. Recuperación basada en log
El DBA • Log o registro histórico:
– Estructura que almacena estados de la base de
El SMBD
datos, basado en las transacciones
Manejo de Memoria • Inicio de la transacción Ti
<Ti, BT>
Restauración
Recuperación
• Fin de la transacción Ti
Concurrencia <Ti, ET> o <Ti, Commit> culminación exitosa
Diccionario Datos <Ti, Rollback> culminación fallida
• Cambios en los registros de la BD
Proc. Consultas
<Ti, R, IA, ID>
• R: registro
Integridad
• IA: Imagen o estado antes
Seguridad de la modificación
• ID: Imagen o estado
después de la modificación
Marzo 2012 Administración de Base de Datos 10
11. Recuperación basada en log
El DBA
El SMBD Buffer de datos Área de trabajo de Ti
Manejo de Memoria Leer(X)
X Xi
Restauración
Recuperación Escribir(X)
Concurrencia B Escribir_reg_log(Rn)
Buffer
Diccionario Datos R1, R2, (Ti, X, IA, ID) del log
Proc. Consultas Input (A) Output (B)
Output (C)
Integridad
A B Log
Seguridad C
Marzo 2012 Administración de Base de Datos 11
12. Recuperación basada en log
El DBA
Deshacer transacción:
El SMBD
Manejo de Memoria • Acción de colocar las imágenes antes
(estado anterior) de los registros
Restauración
Recuperación
modificados por una transacción
Concurrencia
Diccionario Datos
Rehacer transacción
Proc. Consultas
Integridad
• Acción de escribir la imagen despues
(estado posterior) de los registros
Seguridad
modificados por una transacción
Marzo 2012 Administración de Base de Datos 12
13. Recuperación basada en log
El DBA • Modificación diferida:
– Retarda las operaciones escribir de una
El SMBD
transacción hasta que se compromete
Manejo de Memoria parcialmente
Restauración
– Si el sistema falla antes de que la transacción s
Recuperación
complete, se ignora en el proceso de
Concurrencia recuperación
Diccionario Datos – En el LOG no se registran las imágenes
antes, por lo que:
Proc. Consultas
• Los registros de actualización son de la forma
Integridad <Ti, X, ID>
• No se deshace
Seguridad
Marzo 2012 Administración de Base de Datos 13
14. Recuperación basada en log
El DBA • Modificación inmediata:
– Permite las operaciones escribir de una
El SMBD
transacción mientras esta está activa
Manejo de Memoria (modificaciones no comprometidas)
Restauración
– Si el sistema falla se debe usar los valores del
Recuperación
Log para restaurar los elementos de datos a los
Concurrencia valores anteriores a la transacción
Diccionario Datos – En el LOG
• Los registros de actualización son de la forma
Proc. Consultas
<Ti, X, IA, ID>
Integridad • Se realizan los cambios en el Log antes de la
actualización real a la BD.
Seguridad
Marzo 2012 Administración de Base de Datos 14
15. Recuperacion basada en el log
El DBA • Ejemplo
El SMBD
Manejo de Memoria
Restauración
Concurrencia
Diccionario Datos
Proc. Consultas
Integridad
Seguridad
Marzo 2012 Administración de Base de Datos 15
16. Recuperacion basada en el log
El DBA • Proceso de restauracion (3 pasadas)
El SMBD
Manejo de Memoria
Restauración – Se recorre el log del fin al inicio para crear dos
Concurrencia
listas
• REDO o transacciones terminadas
Diccionario Datos
• UNDO o transacciones no terminadas
Proc. Consultas – Se recorre el log de inicio a fin para Rehacer las
Integridad
transacciones en REDO
– Se recorre el log de fin a inicio para Deshacer
Seguridad
las transacciones en UNDO
Marzo 2012 Administración de Base de Datos 16
17. Recuperacion basada en el log
El DBA • Proceso de restauracion (2 pasadas)
El SMBD
Manejo de Memoria
Restauración – Se recorre el log del fin al inicio para:
Concurrencia
• Crear la lista REDO
• Deshacer las transacciones no terminadas
Diccionario Datos
– Se recorre el log de inicio a fin para Rehacer las
Proc. Consultas transacciones en REDO
Integridad
Seguridad • El log puede llegar a tener muchos
registros
Marzo 2012 Administración de Base de Datos 17
18. Recuperación basada en log
con checkpoint
El DBA • Cuando se realiza el proceso de
restauración
El SMBD
– Recorrer el Log consume tiempo
Manejo de Memoria
– La mayoría de las transacciones a Rehacer (de
Restauración
Recuperación acuerdo al algoritmo) ya tienen sus
actualizaciones escritas en la BD
Concurrencia
• ¿Como hacer para no recorrer el log
Diccionario Datos
completo?
Proc. Consultas – Se usa el checkpoint o punto de verificación
Integridad
Seguridad
Marzo 2012 Administración de Base de Datos 18
19. Recuperación basada en log
con checkpoint
El DBA
Buffer de datos Área de trabajo de Ti 1. Se impide que
El SMBD las
Leer(X) transacciones
Manejo de Memoria
X Xi realicen
Escribir(X) actualizaciones
Restauración
Recuperación 2. Se forza la
B salida de los
Concurrencia buffer de datos
R1, R2, (Ti, X, IA, ID)
(CP, L) y log
Diccionario Datos
Output (A) Output (B) Buffer del log 3. Se crea un
registro de CP
Proc. Consultas Output (C)
en el log con la
Integridad lista de
A B Log transacciones
C
Seguridad activas al
momento del
CP
Marzo 2012 Administración de Base de Datos 19
21. Recuperación basada en log
con checkpoint
El DBA • Con la ejecución anterior y los siguientes
valores iniciales de los elementos de
El SMBD
datos
Manejo de Memoria
– Construya el log hasta el momento de la falla
Restauración
Recuperación – Indique que pasa en el momento 10.
– A=5, B=12, C=30, D=20, E=8
Concurrencia
Diccionario Datos
Proc. Consultas
Integridad
Seguridad
Marzo 2012 Administración de Base de Datos 21
22. Recuperación basada en log
con checkpoint
El DBA • Proceso de recuperación
– Se obtiene en el archivo de recomienzo la la
El SMBD
dirección del último CP en el LOG
Manejo de Memoria
– Se crean dos listas UNDO = L y REDO = null
Restauración
Recuperación – Se recorre el log desde el CP al fin y se
completan las listas
Concurrencia
– Se recorre el log desde fin al inicio de
Diccionario Datos transacción de c/u de las transacciones en
UNDO para deshacer
Proc. Consultas
– Se recorre el Log del CP hasta fin para rehacer
Integridad
Seguridad
Marzo 2012 Administración de Base de Datos 22
23. Recuperación basada en
Doble paginación
El DBA
1. Se lleva el
Página 5 directorio a
El SMBD
(antigua)
memoria principal
1 Página 1 1 2. Cada vez que se
Manejo de Memoria inicia una
transacción T se
2 Página 4 2
Restauración
Recuperación 3
Página 2 copia el directorio
3
(antigua) actual en disco
Concurrencia 4
Página 3
4 (sombra)
5 Página 2
3. Si se actualiza se
5
Diccionario Datos (nueva) modifica el
Página 5 directorio actual
Proc. Consultas (nueva) Directorio 4. Si T es exitosa el
Actual
directorio actual
Integridad Directorio Bloques (Páginas) Directorio
Actual Disco de la BD Doble o Sombra es el nuevo
Seguridad
directorio
5. Si no, se vuelve
al directorio
sombra
Marzo 2012 Administración de Base de Datos 23
24. Recuperación basada en
doble paginación
El DBA • Ventajas
– No implica REHACER no DESHACER
El SMBD
Manejo de Memoria
• Desventajas
– Produce una alta fragmentación de disco por la
Restauración
Recuperación movilidad de las páginas
Concurrencia
– Ocasiona sobrecarga en el manejo de los
archivos de datos y el mantenimiento de los
Diccionario Datos índices
Proc. Consultas – Imposibilita el clustering y las organizaciones
ordenadas o de hashing.
Integridad
– Aumenta la cantidad de lecturas a disco para
Seguridad cada operación de escritura.
– Minimiza la concurrencia
Marzo 2012 Administración de Base de Datos 24
25. Recuperación en fallas de
almacenamiento
El DBA • Backup o Respaldos
– Copias de la BD completa o parcial hasta una
El SMBD
fecha dada
Manejo de Memoria
– El ABD debe programar respaldos periódicos
Restauración
Recuperación – Para la recuperación se usa el respaldo y el log
para las actualizaciones posteriores
Concurrencia
• Replicación
Diccionario Datos
– Mantener una base de datos en otra
Proc. Consultas localización o nodo, que se actualiza a la par de
la original, como consecuencia
Integridad
• Aumenta la disponibilidad de la BD en caso de
Seguridad fallas
• Aumentan también los costos de almacenamiento
y comunicación
Marzo 2012 Administración de Base de Datos 25