sistema de recuperación - pujcatlas.puj.edu.co/~caolarte/puj/cursos/cc100/files/clases... · se...

Post on 07-Feb-2018

216 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Sistema de Recuperacion

Carlos A. Olarte (carlosolarte@puj.edu.co)BDII

Carlos A. Olarte (carlosolarte@puj.edu.co) BDII Sistema de Recuperacion

Contenido

1 Introduccion

2 Medios de Almacenamiento

3 Registro Historico

4 Paginacion en la sombra

5 Perdida de Almacenamiento

Carlos A. Olarte (carlosolarte@puj.edu.co) BDII Sistema de Recuperacion

Propiedades ACID

Atomicidad

Consistencia

Aislamiento

Durabilidad

Carlos A. Olarte (carlosolarte@puj.edu.co) BDII Sistema de Recuperacion

Tipos de Fallo

Fallos en la transaccion: Tanto logicos (violacion derestricciones, tipos incompatibles, etc) como del sistema(interbloqueos, espacio insuficiente, etc)

Caıdas del Sistema: Mal funcionamiento del DBMS y/o delSistema Operativo

Fallos Fısicos: Errores de I/O o destruccion fısica del medio(desastres)

Carlos A. Olarte (carlosolarte@puj.edu.co) BDII Sistema de Recuperacion

Soluciones

Almacenar estructuras de datos adicionales mientras seprocesan las transacciones

Implementar mecanismos de recuperacion y ejecutarloscuando sea necesario para retornar a un estado consistente

Backups (unica forma de recuperarse de los errores fısicos)

Carlos A. Olarte (carlosolarte@puj.edu.co) BDII Sistema de Recuperacion

Medios de Almacenamiento

Almacenamiento Volatil: RAM

Almacenamiento No Volatil: Memoria secundaria

Almacenamiento Estable: Perdura en el tiempo

Diferencias En Costos?, velocidad de Acceso?, Capacidad?

Carlos A. Olarte (carlosolarte@puj.edu.co) BDII Sistema de Recuperacion

Almacenamiento Estable

Se debe replicar la informacion en varios medios no volatiles.Posibles mecanismos:

Arreglos de Discos

Imagenes de Discos

Copias Remotas

Procedimiento:1 Escribir el primer bloque2 Escribir el segundo bloque3 Salida OK (completa) si ambas escrituras son exitosas

Carlos A. Olarte (carlosolarte@puj.edu.co) BDII Sistema de Recuperacion

Esquema de Almacenamiento

Administracion del buffer

Administracion de los archivos

Bloque: Unidad basica detransferencia

Bloques Fısicos: Bloques queresiden en disco

Bloques de mem intermedia:Bloques que residen en memoriaprincipal

Carlos A. Olarte (carlosolarte@puj.edu.co) BDII Sistema de Recuperacion

Acceso a los datos

Entrada(B): Transferencia debloques hacia MPpal(Operaciones de Lectura)

Salida(B): Transferencia debloques hacia disco(Operaciones de Escritura)

No necesariamente al efectuar Escribir(X) se efectuainmediatamente la salida del bloque (no necesariamente estalleno). El gestor de memoria intermedia puede tambien forzar lasalida de un bloque (requiere el espacio)

Que problemas puede traer forzar la salida? o no escribirinmediatamente el bloque?

Carlos A. Olarte (carlosolarte@puj.edu.co) BDII Sistema de Recuperacion

Esquemas de Recuperacion

Registro historico

Escritura DifereidaEscritura InmediataPuntos de Revision

Paginacion en la sombra

Carlos A. Olarte (carlosolarte@puj.edu.co) BDII Sistema de Recuperacion

Registro Historico

Se mantiene un rastro de las operaciones que han realizado lastransacciones. Por Ej:

<Ti inicia><Ti,Q,1,4><Tj inicia><Tj,M,5,3><Tj commit><Ti,M,5,3><Ti commit>

Carlos A. Olarte (carlosolarte@puj.edu.co) BDII Sistema de Recuperacion

Modificacion Diferida

Los cambios no se reflejan directamente en disco hasta que secompromete la transaccion. Se utiliza el R.H para ejecutar lasescriturasEstrategia:

1 Registrar en el RH el inicio de la transaccion

2 Por cada escritura registrar el valor modificado

3 Registrar el compromiso de la transaccion

4 Antes de realizar las escrituras, el R.H debe estar enalmacenamiento estable.

Carlos A. Olarte (carlosolarte@puj.edu.co) BDII Sistema de Recuperacion

Continuacion

Recuperacion ante fallas:

Encontrar en el R.H las transacciones Iniciadas yComprometidas

Realizar rehacer(Ti ) para reflejar los cambios en disco

La operacion rehacer debe ser Idempotente (por que?)

Carlos A. Olarte (carlosolarte@puj.edu.co) BDII Sistema de Recuperacion

Modificacion Inmediata

Se pueden presentar escrituras fısicas cuando la transaccion aun seencuentra en estado activa.

1 Registrar el inicio de la transaccion

2 Por cada modificacion escribir el valor anterior y el valor nuevo

3 Registrar el compromiso de la transaccion

Mecanismo de recuperacion

1 Realizar rehacer(Ti ) sobre las transacciones comprometidas

2 Realizar deshacer(Ti ) (tambien idempotente) sobre lastransacciones no comprometidas

Carlos A. Olarte (carlosolarte@puj.edu.co) BDII Sistema de Recuperacion

Puntos de Revision

Evitan recorrer totalmente el registro historico en cadarecuperacion

Evitan rehacer transacciones que ya se han reflejado en eldisco

Pasos para la revision1 Escritura fısica de los registros del R.H2 Escritura de los bloques en memoria intermedia que hayan sido

modificados3 Escribir < revisado > en el R.H

Mientras se efectua la revision no se permite la actualizacionde datos ni escrituras en el R.H

Carlos A. Olarte (carlosolarte@puj.edu.co) BDII Sistema de Recuperacion

Continuacion

Estrategia de recuperacion:

1 Encontrar la ultima transaccion Ti que comenzo su ejecucionantes del ultimo punto de revision

2 Encontrar las transacciones que iniciaron su ejecucion despuesde Ti

3 Aplicar la operacion deshacer(Tj) a las transacciones nocomprometidas

4 Aplicar la operacion rehacer(Tj) a las transaccionescomprometidas

Carlos A. Olarte (carlosolarte@puj.edu.co) BDII Sistema de Recuperacion

Continuacion

Carlos A. Olarte (carlosolarte@puj.edu.co) BDII Sistema de Recuperacion

Transacciones Concurrentes y Recuperacion

Adicionar una lista de las transacciones activas en el momentode la revision (< revisionL >)

Por cada Ti comprometida adicionarla a la lista de rehacer

Por cada Ti iniciada adicionarla a la lista de deshacer si no seencuentra en la lista de rehacer

Por cada Ti en la lista de revision, adicionarla a la lista dedeshacer si no se encuentra en la lista de rehacer

Deshacer las transacciones de la lista de deshacer de atrashacia adelante

Rehacer las transacciones de la lista de rehacer desde el puntode revision hacia adelante

Carlos A. Olarte (carlosolarte@puj.edu.co) BDII Sistema de Recuperacion

Consideraciones de Eficiencia

Los registros del R.H no se pueden escribir en almacenamientoestable inmediatamente. Por eficiencia se mantienen en mem ppal(bloques) . Sin embargo para evitar perdidas de consistencia dedebe tener en cuenta:

La transaccion se encuentra comprometida solamente si todossus registros se encuentran en almacenamiento estable

Antes de transferir un bloque de datos, los registros del R.Hque afecten dicho bloque deben estar en almacenamientoestable

Lo anterior se denomina Registro de Escritura Anticipada (RAE).En ocasiones el administrador del buffer forza la escritura delregistro historico (esto puede conducir a un estado inconsistente?)

Carlos A. Olarte (carlosolarte@puj.edu.co) BDII Sistema de Recuperacion

Paginacion en la sombra

Pagina: Conjunto de bloques de longitud fija

Tabla de Paginas: Tabla que contiene apuntadores a laspaginas en disco (permite localizar las paginas)

Se utiliza una tabla de paginas sombra que mantiene el estadoanterior (consistente) de la BD y los cambios se reflejan en latabla actual. Cuando se compromete la transaccion semodifica la tabla sombra

Carlos A. Olarte (carlosolarte@puj.edu.co) BDII Sistema de Recuperacion

Continuacion

Procedimiento de Escritura

1 Ejecutar Entrada(X) si la paginano se encuentra en mem ppal

2 Si es la primera escritura sobrela pagina, encontrar una paginalibre y hacer que la paginaactual apunte a dicha pagina

3 Realizar la modificacion sobre lanueva pagina

Carlos A. Olarte (carlosolarte@puj.edu.co) BDII Sistema de Recuperacion

Continuacion

Procedimiento para el compromiso

Escribir las paginas de memoria principal al disco

Escribir en disco la tabla actual de paginas

Modificar el “apuntador” de la base de datos para que la tablasombra sea la nueva tabla escrita

La recuperacion no es necesaria (es inmediata). La tabla sombrasiempre debe estar en almacenamiento estable. La tabla actualpuede estar en memoria principal

Carlos A. Olarte (carlosolarte@puj.edu.co) BDII Sistema de Recuperacion

Registro Historico Vs Paginacion en la sombra

Ventajas

No hay necesidad de mantener un registro historico

La recuperacion es inmediata

Desventajas

Sobrecarga en el compromiso: Se requiere la escritura de losbloques de datos y la tabla actual de paginas

Fragmentacion de datos: Las paginas no quedan continuasdespues de varias modificaciones

Recoleccion de Basura: Se deben recuperar las paginas quecontenıan los datos antes de ser modificados

Difıcil extender este esquema para ejecuciones concurrentes detransacciones

Carlos A. Olarte (carlosolarte@puj.edu.co) BDII Sistema de Recuperacion

Gestion de Memoria Intermedia

Mem Virtual del S.O

Implementar la memoriaintermedia en la memoriavirtual del S.O

El S.O es quien controlala memoria virtual

Provoca doble escritura:Intercambio → Principal→ Disco

Mem Principal

Reservar parte de lamemoria principal para suutilizacion exclusiva porparte de la B.D

Disminuye los recursospara otras aplicaciones

Memoria ociosa enalgunos instantes

Carlos A. Olarte (carlosolarte@puj.edu.co) BDII Sistema de Recuperacion

Perdida de Almacenamiento

Las tecnicas anteriores solo son utiles si no hay perdida delalmacenamiento no volatil. Si esto sucede, se debe recurrir a unbackup para recuperar nuevamente un estado consistente de labase de datos.Ejemplos

Exports / Imports (Oracle, MySql, etc)

Backups Incrementales

Uso de Crontabs

Copias Remotas

Carlos A. Olarte (carlosolarte@puj.edu.co) BDII Sistema de Recuperacion

top related