abd tema2

25
Administración de Base de Datos Recuperación Prof Mercy Ospina Torres [email protected]

Upload: escuela-de-computacion-ucv

Post on 30-Jun-2015

872 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Abd tema2

Administración de Base de Datos

Recuperación

Prof Mercy Ospina Torres [email protected]

Page 2: Abd tema2

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

Page 3: Abd tema2

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

Page 4: Abd tema2

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

Page 5: Abd tema2

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

Page 6: Abd tema2

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.

Page 7: Abd tema2

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

Page 8: Abd tema2

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

Page 9: Abd tema2

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

Page 10: Abd tema2

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

Page 11: Abd tema2

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)

Page 12: Abd tema2

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

Page 13: Abd tema2

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

Page 14: Abd tema2

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

Page 15: Abd tema2

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

Page 16: Abd tema2

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

Page 17: Abd tema2

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

Page 18: Abd tema2

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

Page 19: Abd tema2

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)

Page 20: Abd tema2

Administración de Base de Datos 20Marzo 2012

Page 21: Abd tema2

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

Page 22: Abd tema2

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

Page 23: Abd tema2

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

Page 24: Abd tema2

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

Page 25: Abd tema2

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