abd tema2
TRANSCRIPT
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
Administración de Base de Datos 2
El SMBD
Manejo de Memoria
Restauración
Contenido
Marzo 2012
• Transacciones– Propiedades– Estados
• Tipos de fallas• Acceso a los datos por las transacciones• Recuperación después de una falla
– Log o registro histórico– Modificaciones a la base de datos– Checkpoint– Log con memoria intermedia– Doble paginación– Fallas en los medios de almacenamiento
Recuperación
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
Administración de Base de Datos 3
El SMBD
Manejo de Memoria
Restauración
Transacción
Marzo 2012
• Conjunto de operaciones que forman una unidad lógica de trabajo
• El SMBD debe garantizar que se realicen adecuadamente a pesar de la existencia de fallos
• Puede iniciar con una instrucción BEGIN TRANSACTION (depende del SMBD)
• Hay dos operaciones obligatorias– COMMIT: transacción exitosa los cambios se deben
hacer efectivos– ROLLBACK: transacción no exitosa los cambios se
deben deshacer.
Recuperación
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
Administración de Base de Datos 4
El SMBD
Manejo de Memoria
Restauración
TransacciónPropiedades
Marzo 2012
• Atómica: Se ejecuta completa o no se ejecuta.• Consistente: la BD debe quedar en un estado
consistente una vez terminada la transacción (exitosamente o no)
• aIslada: Aunque varias transacciones se ejecuten de manera concurrente, cada una ignora lo que hacen las demás
• Durable: Una vez que una transacción ha culminado exitosamente los cambios deben permanecer en el tiempo.
Recuperación
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
Administración de Base de Datos 5
El SMBD
Manejo de Memoria
Restauración
TransacciónEstados
Marzo 2012
•
RecuperaciónActiva
Parcialmente confirmada
confirmada
Fallida Terminar
Leer, escribir
Ultima instrucciónInicio de
transaccióncommit
rollback
rollback
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
Administración de Base de Datos 6
El SMBD
Manejo de Memoria
Restauración
¿Qué es restauración?
Marzo 2012
• 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.
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
Administración de Base de Datos 7
El SMBD
Manejo de Memoria
Restauración
Tipos de fallas en un SBD
Marzo 2012
• a) son detectadas por el código de la aplicación y son manejadas por este. Ejemplo: Condición de fondos insuficientes en la transferencia
• b) no son explícitamente manejadas por el código de aplicación. Ejemplo: Overflow aritmético.
Fallas locales a la transacción
•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
Fallas en el sistema
• 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.
Fallas en los medios de almacenamiento
Recuperación
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
Administración de Base de Datos 8
El SMBD
Manejo de Memoria
Restauración
Acceso a datos por una transacción
Marzo 2012
¿Qué pasa si se cae el sistema, antes de copiar X a disco?
Recuperación
B
A B
Input (A) Output (B)
Memoria principal
Área de trabajo de Ti
Xi
XLeer(X)
Escribir(X)
• La salida a disco de X no es inmediata.
• Depende de la política de sustitución de memoria principal
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
Administración de Base de Datos 9
El SMBD
Manejo de Memoria
Restauración
Técnicas de RecuperaciónFallas del sistema
Marzo 2012
• Recuperación basada en Log – Registros del log– Modificacion diferida– Modificación inmediata
• Proceso de recuperación con log– Tres pasadas– Dos pasadas– Checkpoint
• Doble paginación
Log = bitácora = registro histórico
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
Administración de Base de Datos 10
El SMBD
Manejo de Memoria
Restauración
Recuperación basada en log
Marzo 2012
• Log o registro histórico:– Estructura que almacena estados de la base de
datos, basado en las transacciones• 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>
Recuperación
• R: registro• IA: Imagen o estado antes
de la modificación• ID: Imagen o estado
después de la modificación
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
Administración de Base de Datos 11
El SMBD
Manejo de Memoria
Restauración
Recuperación basada en log
Marzo 2012
Recuperación
B
A B
Input (A) Output (B)
Área de trabajo de Ti
XiXLeer(X)
Escribir(X)
Buffer de datos
Buffer del log
Output (C)
C
Escribir_reg_log(Rn)
Log
R1, R2, (Ti, X, IA, ID)
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
Administración de Base de Datos 12
El SMBD
Manejo de Memoria
Restauración
Recuperación basada en log
Marzo 2012
• Acción de colocar las imágenes antes (estado anterior) de los registros modificados por una transacción
Deshacer transacción:
• Acción de escribir la imagen despues (estado posterior) de los registros modificados por una transacción
Rehacer transacción
Recuperación
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
Administración de Base de Datos 13
El SMBD
Manejo de Memoria
Restauración
Recuperación basada en log
Marzo 2012
• 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
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
Administración de Base de Datos 14
El SMBD
Manejo de Memoria
Restauración
Recuperación basada en log
Marzo 2012
• 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
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
Administración de Base de Datos 15
El SMBD
Manejo de Memoria
Restauración
Recuperacion basada en el log
Marzo 2012
• Ejemplo
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
Administración de Base de Datos 16
El SMBD
Manejo de Memoria
Restauración
Recuperacion basada en el log
Marzo 2012
• 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
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
Administración de Base de Datos 17
El SMBD
Manejo de Memoria
Restauración
Recuperacion basada en el log
Marzo 2012
• 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
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
Administración de Base de Datos 18
El SMBD
Manejo de Memoria
Restauración
Recuperación basada en logcon checkpoint
Marzo 2012
• 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
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
Administración de Base de Datos 19
El SMBD
Manejo de Memoria
Restauración
Recuperación basada en log con checkpoint
Marzo 2012
RecuperaciónB
A B
Output (A) Output (B)
Área de trabajo de Ti
XiXLeer(X)
Escribir(X)
Buffer de datos
Buffer del log
Output (C)
CLog
R1, R2, (Ti, X, IA, ID)
1. Se impide que las transacciones realicen actualizaciones
2. Se forza la salida de los buffer de datos y log
3. Se crea un registro de CP en el log con la lista de transacciones activas al momento del CP
(CP, L)
Administración de Base de Datos 20Marzo 2012
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
Administración de Base de Datos 21
El SMBD
Manejo de Memoria
Restauración
Recuperación basada en logcon checkpoint
Marzo 2012
• 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
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
Administración de Base de Datos 22
El SMBD
Manejo de Memoria
Restauración
Recuperación basada en logcon checkpoint
Marzo 2012
• Proceso de recuperación– Se obtiene en el archivo de recomienzo la la
dirección del último CP en el LOG– Se crean dos listas UNDO = L y REDO = null– Se recorre el log desde el CP al fin y se
completan las listas– Se recorre el log desde fin al inicio de
transacción de c/u de las transacciones en UNDO para deshacer
– Se recorre el Log del CP hasta fin para rehacer
Recuperación
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
Administración de Base de Datos 23
El SMBD
Manejo de Memoria
Restauración
DirectorioActual
1
2
3
4
5
Recuperación basada en Doble paginación
Marzo 2012
Recuperación
Bloques (Páginas)Disco de la BD
DirectorioDoble 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
DirectorioActual
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
Administración de Base de Datos 24
El SMBD
Manejo de Memoria
Restauración
Recuperación basada en doble paginación
Marzo 2012
• Ventajas– No implica REHACER no DESHACER
• Desventajas– Produce una alta fragmentación de disco por la
movilidad de las páginas– Ocasiona sobrecarga en el manejo de los
archivos de datos y el mantenimiento de los índices
– Imposibilita el clustering y las organizaciones ordenadas o de hashing.
– Aumenta la cantidad de lecturas a disco para cada operación de escritura.
– Minimiza la concurrencia
Recuperación
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
Administración de Base de Datos 25
El SMBD
Manejo de Memoria
Restauración
Recuperación en fallas de almacenamiento
Marzo 2012
• Backup o Respaldos– Copias de la BD completa o parcial hasta una
fecha dada– El ABD debe programar respaldos periódicos– Para la recuperación se usa el respaldo y el log
para las actualizaciones posteriores
• Replicación– Mantener una base de datos en otra
localización o nodo, que se actualiza a la par de la original, como consecuencia
• Aumenta la disponibilidad de la BD en caso de fallas
• Aumentan también los costos de almacenamiento y comunicación
Recuperación