Administración De Base De Datos
Tema 8. Técnicas de Recuperación en SGBD
Pedro Pablo Alarcón Cavero Juan Garbajosa Sopeña
Departamento O.E.I. Escuela Universitaria de Informática Universidad Politécnica de Madrid
© P.P. Alarcón, J. Garbajosa
Indice
8.1. Conceptos de recuperación 8.2. Operaciones de lectura/escritura 8.3. Transacciones 8.4. Diarios para recuperación 8.5. Doblepaginación 8.6. Procedimientos de recuperación
© P.P. Alarcón, J. Garbajosa
8.1. Conceptos de Recuperación
Consiste en devolver a la base de datos a un estado consistente y con la menor pérdida de información y tiempo posible, e incluye: – acciones durante el proceso normal de transacciones – acciones después de un fallo Los accesos a la BD se realizan a través de transacciones Errorescatastróficos Errores no catastróficos
RECUPERAR IMPLICA PODER REPETIR UNO A UNO LOS PROCESOS QUE HAN ACTUALIZADO LA BD PARA ELLO ES NECESARIO QUE LAS TRANSACCIONES SE EJECUTEN SEGUN UN ESQUEMA DE SERIALIZACION
© P.P. Alarcón, J. Garbajosa
8.1. Tipos de almacenamiento
Tipos de almacenamiento – Almacenamiento volátil: no sobrevive a las caídas del sistema – Almacenamiento no volátil: disco, cinta...:existen accidentes – Almacenamiento estable frente al no estable: la información no se pierde “nunca”, se repite en varios medios no volátiles (disco) con modos de fallo independientes La BD reside en almacenamiento no volátil
© P.P. Alarcón, J. Garbajosa
8.1. Algunas características de los sistemas basados en transacciones
Operación --> Transacción: proceso con conexión y desconexiónProblema: Ejecución concurrente de transacciones Requisito: Ejecución correcta de transacciones
Se estudió en el tema de Control de Accesos Concurrentes Problema: Incidentes afectan a la ejecución de las transacciones Requisito: Tras el incidente la BD debe contener toda la información Requisito: Tras el incidente la BD contendrá información consistente
© P.P. Alarcón, J. Garbajosa
8.2.Operaciones básicas lectura/escritura
La BD reside en almacenamiento no volátil. Bloque o página: unidad de transferencia de datos entre disco y memoria principal. Transferencia de bloques entre el disco y la memoria principal: – input (X): transfiere el bloque físico donde se encuentra X a la memoria principal. – output (X): transfiere el bloque de registro intermedio (buffer) donde está X aldisco, sustituyendo el bloque físico
© P.P. Alarcón, J. Garbajosa
8.2. Lectura y escritura entre transacciones y BD
Read (X)
1. Encontrar la dirección donde está X
Bloque o página del disco
Write (X)
1. Encontrar la dirección donde está X
Bloque o página del disco
2. Copiar el bloque del disco a un buffer de memoria, si no está ya en memoria 3. Copiar X del buffer a la variable Xdel programa
2. Copiar el bloque del disco a un buffer de memoria, si no está ya en memoria 3. Copiar X de la variable del programa a su posición en el buffer 4. Almacenar el bloque actualizado desde el buffer al disco
© P.P. Alarcón, J. Garbajosa
8.2 Funcionamiento del gestor
A B C
GESTOR DEL BUFFER
B A
C
MEMORIA PRINCIPAL (buffer) BASE DE DATOS GESTOR DE BASES DE DATOS(SGBD)
P L A N I F I C A D O R
SISTEMA DE FICHEROS
© P.P. Alarcón, J. Garbajosa
8.2 Planificador
A B C A, B
Read (A), Read (B), W rite (C) C PLANIFICADOR
A C B
BASE DE DATOS
MEMORIA PRINCIPAL (buffer)
© P.P. Alarcón, J. Garbajosa
8.2 Gestión de los recursos
RECURSOS SOLICITADOS
t
© P.P. Alarcón, J. Garbajosa
8.2. Gestión en memoria y en disco
Unbloque del buffer se graba en disco: – porque el gestor de buffer necesita espacio de memoria para otros propósitos – o porque el SGBD desea reflejar el cambio hecho a X en el disco Si el sistema se cae tras ejecutar write (X, xi), pero antes de ejecutar output (X), el nuevo valor de X se pierde (no se escribe en disco).
© P.P. Alarcón, J. Garbajosa
8.2. Incidentes que hacen necesaria la...
Regístrate para leer el documento completo.