Bases de Datos 2. Teórico



Documentos relacionados
Bases de Datos I. Cursada Clase 7: Recuperación de BD. Introducción a la Seguridad. Introducción a la Seguridad

BASES DE DATOS TEMA 5 RECUPERACIÓN DE FALLAS

5. RECUPERACIÓN DE FALLAS

SISTEMAS DE RECUPERACIÓN

Apuntes Recuperación ante Fallas - Logging

Administración de Bases de Datos

Sistema de Recuperación. Carlos A. Olarte BDII

5(&83(5$&,Ð1'(&$Ì'$6'(/6,67(0$

RECUPERACIÓN ANTE FALLAS EN BASES DE DATOS

Concurrencia. Bibliografía: Introducción a los Sistemas de Bases de Datos Date, C.J.

Tema 6. Transacciones y seguridad

TEMA 5 PROFESOR: M.C. ALEJANDRO GUTIÉRREZ DÍAZ 2 5. CONFIABILIDAD

15. Recuperación de fallos del sistema

Sistemas de Operación II

Manejo de Transacciones

V i s i t a V i r t u a l e n e l H o s p i t a l

Procedimientos de recuperación

SISTEMAS DE ARCHIVOS DISTRIBUIDOS

CONCEPTOS DE PROCESAMIENTO DE TRANSACCIONES

Mecanismos de Recuperación

Transacciones y bloqueos en SQL-Server

ADMINISTRACIÓN DE BASES DE DATOS. Control de Concurrencia y Recuperación

ADMINISTRACIÓN DE BASES DE DATOS PREGUNTAS TEST SON SOLUCIÓN

Manual de Instalación. Sistema FECU S.A.

Arquitectura de sistema de alta disponibilidad

18 y 19 Sistemas de Archivos Distribuidos y Tarea 05

PREGUNTAS FRECUENTES SOBRE LA COM A 3602

DISCOS RAID. Se considera que todos los discos físicos tienen la misma capacidad, y de no ser así, en el que sea mayor se desperdicia la diferencia.

Módulo 7 Transacciones Distribuidas

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS

GUIA COMPLEMENTARIA PARA EL USUARIO DE AUTOAUDIT. Versión N 02 Fecha: 2011-Febrero Apartado: Archivos Anexos ARCHIVOS ANEXOS

Estrategia de Backup para los Sistemas SAP R/3 GOBERNACIÓN DE CUNDINAMARCA

PROCESO ADMINISTRACIÓN DE RECURSOS TECNOLÓGICOS SUBPROCESO ADMINISTRACIÓN DE CONTINGENCIAS

ADMINISTRACIÓN DE BASES DE DATOS DISTRIBUIDAS

WINDOWS : COPIAS DE SEGURIDAD

Concurrencia. Primitivas IPC con bloqueo

Base de datos en Excel

GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD

Asignatura: Administración de Bases de Datos. Pedro P. Alarcón Cavero

MANUAL COPIAS DE SEGURIDAD

Realización de copias de seguridad en caliente

Mecanismos de Recuperación

Sociedad de Seguros de Vida del Magisterio Nacional. Sistema de Pignoraciones Web. Manual de Usuario. Marzo, 2012.

Acronis License Server. Guía del usuario

Comisión Nacional de Bancos y Seguros

ANEXO (NÓMINA DE CANDIDATOS EN SOPORTE INFORMÁTICO

SISTEMA InfoSGA Manual de Actualización Mensajeros Radio Worldwide C.A Código Postal 1060

T ema 2. S is tem as ges tores de bas es de datos

Sistemas de archivos distribuidos. Alvaro Ospina Sanjuan

Selección de los puntos de montaje

GENERACIÓN DE TRANSFERENCIAS

Decimocuartas Jornadas en Estadística e Informática. Ricardo Vergara Argudo ricardo.vergara@sasf.net

LABORATORIO 10. ADMINISTRACIÓN DE COPIAS DE SEGURIDAD EN SQL SERVER

GENERACIÓN DE ANTICIPOS DE CRÉDITO

CAPÍTULO 4. EL EXPLORADOR DE WINDOWS XP

COPIAS DE SEGURIDAD AUTOMÁTICAS DE DIRECCIONES CALLEÇPAÑA

UNIVERSIDAD TECNOLOGICA DE HERMOSILLO TSU EN INFORMÁTICA MATERIA: BASES DE DATOS II AUTOR: M. C. Carlos Alfonso Gámez Carrillo

REPOSITORIOS. Ing. Ismael Castañeda Fuentes, MSc Grupo de Investigación UNBD Universidad Nacional de Colombia Marzo de 2011

1. Que es un nombre de dominio? Es un conjunto de caracteres alfanuméricos utilizados para identificar una computadora determinada en Internet.

BANCOS. Manejo de Bancos. Como crear una ficha de Banco? Como modificar los datos de una ficha de Banco? Como borrar una ficha de Banco?

TPVFÁCIL. Caja Real. Definiciones.

Capítulo 8 - Reglas adicionales para ISO9001: 2008

Plantillas Office. Manual de usuario Versión 1.1

Asignación de Procesadores

HP Backup and Recovery Manager

COPIAS DE SEGURIDAD. Ver. 1.0

SEPARAR Y ADJUNTAR UNA BASE DE DATOS. Separar una base de datos

MANUAL DE USUARIO APLICACIÓN SYSACTIVOS

Una vez que tengamos el padrón de un determinado tributo con todos sus datos actualizados, podemos generar los recibos de ese padrón.

Manual de Procedimiento. CREACION-ADMINISTRACION, RESPALDO DE DATOS Y CONTINUIDAD DEL NEGOCIO Procesos y Responsabilidades ECR Evaluadora Prefin S.A.

Cierre de Ejercicios Fiscales en el Sistema ASPEL-COI 4.0

Guía de Inicio Respaldo Cloud

Cobian Backup. Inguralde [Enero 2011]

Internet Information Server

Configuración en Red

Manual de operación Tausend Monitor

Cuadre del Balance de Comprobación (Reporte)

HERRAMIENTAS DE ACCESS ACCESS Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

Instantáneas o Shadow Copy

III. ADMINISTRACIÓN DE ORACLE.

Una base de datos es una colección de información ordenada e interrelacionada que es de importancia para una empresa.

Bases de Datos Distribuidas

CAPITULO 4. Requerimientos, Análisis y Diseño. El presente capítulo explica los pasos que se realizaron antes de implementar

Bienvenido a JobApply Crear una cuenta e iniciar la sesión:

Utilidades de la base de datos

Recuperacion de Desastre en SQL Server Mejoras

Incidencias: Todas las incidencias que ocurrirán durante el apadrinamiento de un niño se deben registrar para poder buscar soluciones.

REGLAS DE SALÓN DE LA DCI PARA DUEL MASTERS Efectivas desde el 6 de agosto de 2004

Manejo de versiones 392

GENERACION DE CASHFLOW

Guía de usuario. Docentes. Autoservicio de PowerCAMPUS

Versión 1.0. BOLETÍN (JUNIO 2009) a2móvil PC. a2 softway C. A.

Componentes de una BD

SIIGO PYME PLUS. Cierres Anuales. Cartilla I

El modelo de ciclo de vida cascada, captura algunos principios básicos:

Tutoriales sobre Moodle. EOI de Murcia. 0. Instrucciones para el volcado de cursos entre profesores

Transcripción:

Bases de Datos 2 Teórico

De que hay que Recuperarse? En un sistema, se pueden dar fallas que pongan en riesgo la integridad y la existencia misma de la base y por lo tanto de los datos. Fallas en la CPU: Ej. falla en la memoria. Error en la transacción o del sistema: Ej. División por 0 Excepciones sin programar. Ej. no están los datos necesarios para realizar la transacción. Por el control de concurrencia. Ej. Para evitar deadlock. Falla en el disco. Catástrofes. Ej. Incendios, robo, etc. En cualquier caso, el DBMS debe poder recuperar un estado consistente y conocido de la base.

Conceptos de Recuperación de Información: Temario Conceptos Básicos Escenario de Trabajo. El Log Algoritmos de Recuperación Checkpoint Rollback Actualización Diferida Actualización Inmediata Shadow Pages

Escenario de Trabajo El LOG de la base es el registro de todas las operaciones que realizan en cada transacción.

El Log del DBMS Es un registro de la actividad sobre la base, típicamente con entradas como las siguientes: [start_transaction,t]: Comenzó la transacción T [write_item,t,x,v_ant,v_actual]: La transacción T cambió el ítem X del valor v_ant al valor v_act. [read_item,t,x]:la transacción T leyó el valor del ítem X [commit,t]: La transacción T confirma que todos los efectos deben ser permanentes en la base. [abort, T]: La transacción T abortó, por lo que ningún cambio realizado por T debe ser permanente en la base

Construcción y Uso del Log Cada vez que una transacción va a realizar una operación en la base, se agrega un registro en el log. Típicamente esta actualización se hace en un buffer en memoria, por lo que cuando una transacción T confirma: Primero se baja a disco todo el log de T que ya no esté guardado. Luego se actualiza la base con los efectos de la transacción. Nunca se debe perder a la vez la base y el log por lo que: Deben estar en discos distintos Deben realizarse respaldos independientes de uno y otro.

Algoritmos de Recuperación Si hubo un desastre (se pierde el disco, etc.) entonces: Se debe recuperar el último respaldo conocido de la base. Se debe recuperar el LOG hasta donde se pueda Se deben rehacer (redo) todas las operaciones indicadas en el log desde el momento en que se hizo el respaldo a la base. Si la falla fue menor (corte de energía, falla en la red, etc): puede ser que haya que deshacer (undo) cambios ya realizados. puede ser que haya que rehacer cambios que no se hayan confirmado.

Algoritmos de Recuperación: Actualización Diferida e Inmediata Si la falla no fue catastrófica, hay dos técnicas básicas: Actualización Diferida: Cada transacción trabaja en un área local de disco o memoria y recién se baja al disco después que la transacción alcanza el commit. Si hay un abort o una falla, no es necesario deshacer ninguna operación (NO-Undo/Redo). Actualización Inmediata: La base es actualizada antes de que la transacción alcance el commit. Si hay un abort o falla, se deben deshacer las operaciones de la transacción. Siempre se graba primero el Log para garantizar la recuperación.

BeFore IMage y AFter IMage Para que el mecanismo de recuperación sea viable, es necesario considerar al menos dos valores para cada ítem: Before Image (BFIM): El valor del ítem antes de ser actualizado por una transacción. After Image (AFIM): El valor del ítem después de ser actualizado por una transacción. De esta forma, los registros del Log pueden estar clasificados en: De Undo: Contienen la operación y el BFIM De Redo: Contienen la operación y el AFIM Combinados: Contienen la operación y los dos. Se usan en estrategias UNDO/REDO.

Checkpoint [checkpoint]: Registro del Log que indica que todos los buffers modificados de la base fueron actualizados al disco. Ninguna transacción T tal que [commit,t] aparece en el Log antes que [checkpoint] necesita Redo. El checkpoint consiste de los siguientes pasos: Suspender la ejecución de todas las transacciones. Grabar todos los buffers modificados en el disco Registrar el [checkpoint] en el log y grabar el Log en disco. Permitir la continuación de las transacciones.

Write-Ahead Loggin Es una estrategia en la cual el mecanismo de recuperación garantiza que el BFIM está en el Log y el Log está en el disco ANTES que el AFIM actualice el BFIM en la base en el disco. Un protocolo WAL podría ser el siguiente: Un AFIM de un ítem no puede actualizar el BFIM de ese ítem hasta que todos los registros del Log de tipo Undo para esa transacción haya sido escritos en el disco. Nunca se puede completar el commit de una transacción hasta que todos los registros de Log (Undo o Redo) hayan sido escritos en el disco. Para Implementar esto, se deben llevar listas de transacciones activas, confirmadas y abortadas.

RollBack Se debe realizar cuando una transacción aborta o no termina por una falla. Es la recuperación de todos los BFIM s de los ítems que modificó esa transacción y de todas las transacciones que leyeron de la que abortó. (Abortos en Cascada) Lo Abortos (o Rollbacks) en Cascada pueden consumir mucho tiempo por lo que deben evitarse garantizando historias EAC o estrictas.

Algoritmos de Recuperación Cualquier algoritmo de recuperación debería implementar las siguientes operaciones o procedimientos: Recuperación: Indica cual es la estrategia general de recuperación Undo: Indica cómo se debe hacer el undo de una operación. Redo: Indica como se debe hacer el redo de una operación. Es fundamental que la operación de Redo sea idempotente. En general, se asume que se están generando historias estrictas y serializables.

Recuperación Basada en Actualización Diferida Idea Básica: Demorar la escritura de la base en el disco hasta que la transacción alcance el commit. Para esto, durante la ejecución la actualización se realiza en el Log y en los buffers o en un área local a la transacción. El protocolo tiene dos reglas básicas: Los cambios realizados por una transacción T nunca son grabados en el disco hasta que la T alcanza el commit. Una transacción T nunca puede alcanzar el commit hasta que grabó todas sus operaciones de actualización en el Log y el log fue grabado en el disco.

Un Algoritmo Basado en Actualización Diferida RDU(CT,AT){Redo_W(Op){ /* Recovery using Deferred Update. /* Rehace la operación Op, CT:transacciones confirmadas desde el ultimo checkpoint de un write T en el log. */ AT: transacciones activas */ para cada T en CT w_f(x,v_actual); /* graba asumiendo que es la entrada [write,t,x,v_actual] = Op; para cada W = (write_item de T) en en el disco el ítem X con Log v_actual como valor */ Redo_W(W) } fin fin para cada T en AT No necesita Undo: las T en } Start(T) /* se lanza la transacción nuevamente */ base. AT no modificaron nunca la

Ejemplo de Actualización Diferida Log: [start_transaction,t1] [write_item,t1,d,20] [commit,t1] [checkpoint] [start_transaction,t4] [write_item,t4,b,15] [write_item,t4,a,20] [commit,t4] [start_transaction,t2] [write_item,t2,b,12] [start_transaction,t3] [write_item,t3,a,30] [write_item,t2,d,25]

Recuperación Basada en Actualización Inmediata Idea Básica: grabar en el disco sin esperar al commit. Siempre se trabaja con la estrategia WAL (grabar el log antes que los datos). Dos familias de algoritmos: Undo/No-Redo: hay que garantizar que todas las modificaciones efectivamente fueron grabadas en la base. Undo/Redo: No hay que garantizar nada en particular. Undo/Redo es más complejo. Se asume que se generan historias estrictas y serializables.

Un Algoritmo Basado en Actualización Inmediata (Undo/Redo) RIU(CT,AT){ Para cada T en AT /* Recovery using Inmediate Update. Start(T) /* se lanza la CT: Lista de transacciones transacción nuevamente */ confirmadas desde el ultimo } checkpoint AT: Lista de transacciones activas */ Para cada T en AT Undo_W(Op){ para cada W = (write_item de T) en /* Deshace la operación Op, Reverse(Log) asumiendo que es la entrada de un Undo_W(W) write T en el log. */ fin [write,t,x,v_ant,v_actual] = Op; Fin w_f(x,v_ant); /* graba en el disco el para cada T en CT ítem X con v_ant como valor */ para cada W = (write_item de T) } en el Log redo_w(w) fin Fin Redo_w es el visto anteriormente.

Ejemplo de Actualización Inmediata Log: [start_transaction,t1] [write_item,t1,d,20] [commit,t1] [checkpoint] [start_transaction,t4] [write_item,t4,b,15] [write_item,t4,a,20] [commit,t4] [start_transaction,t2] [write_item,t2,b,12] [start_transaction,t3] [write_item,t3,a,30] [write_item,t2,d,25]

Recuperación Basada en Shadow Paging Idea Básica: La base de datos es un conjunto de paginas con un directorio con una entrada para cada página. Cada transacción que modifica algo mantiene dos copias una que no modifica nunca y otra que cada vez que modifica una página, crea una pagina nueva.

Recuperación Basada en Shadow Paging Ventajas La recuperación (o confirmación) se limita a elegir con que versión de directorio se actualiza la base: En rollback se actualiza con el shadow, en commit se actualiza con el actual. Si se trabaja en un ambiente mono tarea, no se necesita Log. Si se necesita si se trabaja en un entorno multitarea. Desventajas La páginas cambian de lugar, con lo que se complican las estrategias manipulación del disco para mantener cerca las páginas relacionadas. Hay que tener una estrategia Garbage Collecting. Hay que implementar en forma atómica la actualización final de actualización del directorio.