IBD Clase 17.

Slides:



Advertisements
Presentaciones similares
Construcción de Sistemas Distribuidos “Transacciones Distribuidas”
Advertisements

Sección 8 Administración
el 1, el 4 y el 9 tres cuadrados perfectos autosuficientes
Capitulo 7: Procesamiento batch y el Job Entry Subsystem (JES)
IBD Clase 8.
IBD Curso 2007 Clase 2.
IBD Plan 90 y 2003 Clase 10.
1 INFORME RESUMEN SOBRE EL NIVEL DE UTILIZACION DE LAS TIC EN LAS EMPRESAS GALLEGAS (MICROEMPRESAS, resultados provisionales) 29 de julio de 2004.
Configuración de Control
Sección 6 Ordenes de Pago
Interfases Contables en CIO
Sección 13 Programación de Obra
Sección 4 Gastos Generales
El Asistente para Presupuestos
Módulo 5 – Inspecciones en rampa
Fundamentos de Diseño de Software INFT.1
Teoría de Sistemas Operativos Memoria
IBD Clase 18.
IBD Clase 7.
Ejemplo A continuación aparecen las tasas de retorno de dos fondos de inversión durante los últimos 10 años. 1. ¿Cuál es más riesgoso? 2. ¿En cuál invertiría.
CLASE 4 EL ENSAMBLADOR.
CLASE 3 SOFTWARE DEL MICROPROCESADOR
Verificación de los Datos Santo Domingo, Marzo 2012 LLECE - TERCE.
APLICAWEB SERVICIOS LEGALES DE PUERTO RICO
Base de Datos Distribuidas Bases de Datos II Universidad Argentina J. F. Kennedy - Año 2008 Maletin Yahoo => briefcase.yahoo.com Usuario => bd2_jfk Pssw.
Base de Datos Distribuidas FUNDAMENTOS DE BASES DE DATOS DISTRIBUIDAS
Parte 3. Descripción del código de una función 1.
“Tuning” Universidad Nacional Autónoma de México Bases de datos I
1.- Si a un número se le restan 2/3 de su quinta parte, quedan 26.
Confiabilidad en Bases de Datos Distribuidas
Introducción a los Sistemas Operativos Memoria Virtual
Efectivo e Inversiones Temporales
Expresiones Racionales
PASOS PARA EL FORMATEO DE UN PC
Windows XP sp3.
© Manuel ColladoVersiones-1 Control de versiones, configuración y cambios VCS: Version Control System SCM: Software Configuration Management.
Control de versiones, configuración y cambios
Introducción a los Sistemas de Bases de Datos Distribuidos
Base de Datos Relacional.
Índice Sesión I Bloque I (09:30 a 10:30 Horas) Configuración Inicial
BASES DE DATOS DISTRIBUIDAS
“¿Qué Pienso de mi futuro?”
Introducción a los Conceptos de Bases de Datos Docente: Ing. Marleny Soria Medina.
Teoría de Sistemas Operativos
Administración del Procesador
Transacciones (MySQL). Definición: Conjunto de sentencias que se tratan como una sola. Comienzan con BEGIN/START TRANSACTION; Se puede confirmar (COMMIT)
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
ELECTRICIDAD.
HILOS Y COMUNICACIÓN ENTRE PROCESOS
TRADUCTOR DE UN PROGRAMA
PARTE I  ANDRI GIOVANNI HERNANDEZ CAMPOSECO. ANDRI GIOVANNI HERNANDEZ CAMPOSECO Check point video: Dead Lock:
Técnicas de recuperación de bases de datos
6. Recuperación de fallos
Una transacción debe estar en uno de los estados siguientes: Activa Parcialmente comprometida Fallida Abortada Comprometida Activa: El estado inicial;
Control de Transacciones.
Elaborado por: Guillermo Baquerizo I Término
Transacciones en sistemas de base de datos
TRANSACCIONES DISEÑO DE BASE DE DATOS.
Administración de Bases de Datos
Teoría de Sistemas Operativos Administración de Archivos.
C ONCURRENCIA Y M ANEJO DE S ESIONES. C ONCURRENCIA Es una propiedad del sistema en el cual muchos calculos se estan ejecutando simultaneamente, y son.
Sistemas de Archivos Sistemas Operativos.  Se debe proporcionar un almacenamiento secundario que respalda a la memoria principal  El Sistema de archivos.
Teoría de Sistemas Operativos Memoria Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz
INTERRUPCIONES – ABRAZO MORTAL
UNIVERSIDAD TECNOLOGICA DE IZUCAR DE MATAMOROS TECNOLOGIAS DE LA INFORMACION Y COMUNICACIÓN BASE DE DATOS PARA APLICACIONES MTRO: GONZALO ROSAS CABRERA.
Transacciones seguras  Concurrencia Ing. Yeberth Martinez Programación II.
MIA - Grupo 5 Unidad 2.
Objetivos del tema. Hemos visto lo que es la estructura de un programa, los datos, que esos datos en realidad se convierten en variables de distinto.
Administración de Base de Datos Recuperación Prof Mercy Ospina Torres
Gestión de Memoria – Parte 2
Transcripción de la presentación:

IBD Clase 17

Transacciones Hasta ahora nos ocupamos de realizar consultas, actualizaciones, etc. De qué sirve una BD si no se puede confiar en la información que está contenida en ella? Que pasa si Las operaciones fallan antes de completarse Varios usuarios quieren hacer a la vez cosas contradictorias IBD - CLASE 17 UNLP - Facultad de Informática

Transacciones Los problemas aparecen cuando se actualiza la BD. La lectura no es causa de problemas. Problemas: Que una operación compleja se interrumpa en un momento indeterminado. Que varios usuarios concurrentemente traten de hacer operaciones sobre los mismos datos. IBD - CLASE 17 UNLP - Facultad de Informática

Transacciones Transacción: secuencia de operaciones que forman una única unidad lógica de trabajo. Una Transacción se hace o no se hace. NO puede quedar a medias. Termina y sus efectos quedan en la BD O se anula y sus efectos no quedan en la BD Objetivo: garantizar la consistencia de la BD a pesar de los fallos del Sistema y de la ejecución concurrente. IBD - CLASE 17 UNLP - Facultad de Informática

Transacciones Propiedades ACID Atomicidad: (una transacción debe ser una unidad atómica de trabajo) o todas las operaciones de la transacción se ejecutan o no lo hacen ninguna de ellas. Consistencia: la ejecución aislada de la transacción conserva la consistencia de la BD. (lleva a la BD de un estado consistente a otro consistente) Aislamiento (isolation): cada transacción ignora el resto de las transacciones que se ejecutan concurrentemente en el sistema, actua c/u como única. Durabilidad: una transacción terminada con éxito realiza cambios permentes en la BD, incluso si hay fallos en el sistema. IBD - CLASE 17 UNLP - Facultad de Informática

Transacciones Ejemplo Transferencia desde la cuenta 2 a la cuenta 1 Cuenta 1: saldo 2000 Cuenta 2: saldo 1000 Transferencia de 100 Cuenta 1: saldo 2100 Cuenta 2: saldo 900 Hacemos la resta a la cuenta 2, la guardamos y queda con 900; luego se produce un fallo, se “pierden” 100 pesos. Esto no puede pasar: o se hace la resta y la suma, o no se hace nada. IBD - CLASE 17 UNLP - Facultad de Informática

Transacciones Estados de una transacción Activa: estado inicial, estado normal durante la ejecución. Parcialmente Cometida: después de ejecutarse la última instrucción. Fallada: luego de descubrir que no puede seguir la ejecución normal. Abortada: después de haber retrocedido la transacción y restablecido la BD al estado anterior al comienzo de la transacción. Cometida: (tras completarse con éxito) se ha cometido parcialmente y se garantiza que nunca abortará. IBD - CLASE 17 UNLP - Facultad de Informática

Transacciones Diagrama de estado de una transacción Cometida Parcialmente Cometida Activa Abortada Fallada IBD - CLASE 17 UNLP - Facultad de Informática

Transacciones Transacción abortada: que hacer ? Reiniciar la transacción: cualquier error que no dependa de la lógica de la transacción (hardware o software) Cancelar la transacción: error interno lógico en el programa que ejecuta la transacción. Una transacción que llega al estado de fallo después que se determina que no puede seguir con su ejecución normal, debe retroceder, esto es retrotraer lo hecho. Hay que tener cuidado con las escrituras externas (por ej. a impresora) Cuando pase algo así no puede borrarse, puesto que puede haber sido vista fuera del sistema de BD. Muchos sistemas permiten que tales escrituras tengan lugar sólo después que la transacción llegue a estado cometida. IBD - CLASE 17 UNLP - Facultad de Informática

Transacciones Modelo de transacción READ ( A, a1) a1 := a1 – 100; WRITE( A, a1) READ (B, b1) b1 := b1 + 100; WRITE(B, b1) INPUT(X) traer a memoria el bloque de datos que contiene el dato X OUTPUT(X) escribir en el disco el bloque que contiene el dato X Uso de transacciones: En sistemas monousuario En sistemas concurrentes En sistemas distribuidos IBD - CLASE 17 UNLP - Facultad de Informática

Fallos Primer Clasificación: Tipos de fallos con pérdida: Con pérdida de Información Sin pérdida de Información (no presentan graves problemas, ya que los datos quedan bien) Tipos de fallos con pérdida: Fallo en la transacción: dos errores Lógicos: interno a la transacción Del sistema: bloqueos (deadlock) Caída del sistema: hardware, software (SO, DBMS) Fallo de disco IBD - CLASE 17 UNLP - Facultad de Informática

Fallos Algoritmos de tratamiento de fallos Acciones llevadas a cabo durante el procesamiento normal de la transacción que permite la recuperación ante fallos Acciones llevadas a cabo después de ocurrir el fallo para restablecer el contenido de la BD a un estado que asegure ACID. IBD - CLASE 17 UNLP - Facultad de Informática

Fallos Estructura de almacenamiento Almacenamiento volátil la información que reside en este almacenamiento no suele sobrevivir a las caídas del sistema. (Ej: mem. ppal y caché) Almacenamiento no volátil la información que reside aquí sobrevive a las caídas del sistema. (Ej. discos y las cintas) Almacenamiento estable En teoría nunca se pierde Replicar la información en varios medios no volátiles independientes, y actualizar controladamente para asegurar que se mantienen los datos ante cualquier situación. IBD - CLASE 17 UNLP - Facultad de Informática

Recuperación en caso de Fallo Ante un error, como proceder ? Rejecutar: no sirve (se pierde consistencia) No Rejecutar: no sirve (se pierde consistencia) Para el caso de transferir $ 100 de una cuenta a otra Reejecutamos: se hizo la resta de una cuenta y falta la suma, si hacemos de nuevo volvemos a restar, dos veces, y hacemos una sola suma. No Rejecutar: quedó una sola resta Problema: modificar la BD sin seguridad que la transacción se va a cometer. Solución: indicar las modificaciones antes de hacerlas efectivas  permite recuperar IBD - CLASE 17 UNLP - Facultad de Informática

Recuperación en caso de Fallo Métodos de Recuperación Basado en Bitácora (log) Doble Paginación IBD - CLASE 17 UNLP - Facultad de Informática

Recuperación en caso de Fallo Recuperación basada en Bitácora Registro histórico: secuencia de actividades realizadas sobre la BD. Contenido de la Bitácora <Ti iniciada> se graba antes de que empiece a ejecutar la transacción i. Indica que la transacción está activa <Ti, E, Va, Vn> Identificador de la transacción Identificador del elemento de datos Valor anterior Valor nuevo <Ti Commit> Indica que la transacción está parcialmente cometida <Ti Abort> IBD - CLASE 17 UNLP - Facultad de Informática

Recuperación en caso de Fallo Las operaciones sobre la BD deben almacenarse antes en la Bitácora! Dos técnicas de Bitácora Modificación diferida de la BD la base de datos se cambia recién cuando la transacción pasa al estado de cometida Modificación inmediata de la BD ante un cambio, primero se guarda en la Bitácora y luego inmediatamente se lleva a la BD. IBD - CLASE 17 UNLP - Facultad de Informática

Recuperación en caso de Fallo Modificación diferida de la BD Cuando la transacción está parcialmente cometida, la información en la Bitácora se usa para las escrituras diferidas. Si el sistema de cae antes que la transacción termine su ejecución, o si la transacción aborta, se ignora el contenido de la Bitácora IBD - CLASE 17 UNLP - Facultad de Informática

Recuperación en caso de Fallo Modificación diferida de la BD Ejecución de una Transacción Antes de empezar: <Ti starts> Al terminar: <Ti commits> Escritura de la Bitácora en memoria estable Escritura diferida de las modificaciones en la BD Estado cometido IBD - CLASE 17 UNLP - Facultad de Informática

Recuperación en caso de Fallo Dada la siguiente transacción < T0 Start > < T0, A, 900 > < T0, B, 2100 > < T0 Commit > Recién con T0 parcialmente cometida, entonces se actualiza la BD. No se necesita valor viejo de A y B, ya que se modifica todo al final o no se modifica. IBD - CLASE 17 UNLP - Facultad de Informática

Recuperación en caso de Fallo Ante un fallo, y luego de recuperarse: REDO (Ti), para todo Ti que tenga un Start y un Commit en la Bitácora. Sino tiene Commit entonces se ignora, dado que no llegó hacer algo en la BD. Ej. IBD - CLASE 17 UNLP - Facultad de Informática

Recuperación en caso de Fallo Modificación inmediata de la BD La actualización de la BD se realiza mientras la transacción está activa y se va ejecutando. Se necesita el valor viejo, pues los cambios se fueron efectuando. Ante un fallo, y luego de recuperarse: REDO( Ti ), para todo Ti que tenga un Start y un Commit en la Bitácora. UNDO( Ti ), para todo Ti que tenga un Start y no un Commit. Ej. IBD - CLASE 17 UNLP - Facultad de Informática

Recuperación en caso de Fallo Transacción: Condición de idempotencia. Idempotencia significa la habilidad para realizar una acción determinada varias veces y aun así conseguir el mismo resultado que se obtendría si se realizase una sola vez. Un mensaje idempotente, como por ejemplo una instrucción para "cambiar el precio del producto dos a 10,00$", no provocará ningún efecto secundario si se recibe varias veces, mientras que un mensaje no idempotente, como por ejemplo una instrucción para "incrementar el precio del producto dos en un 10%", producirá un resultado diferente según el número de veces que se reciba. IBD - CLASE 17 UNLP - Facultad de Informática

Recuperación en caso de Fallo Buffers de Bitácora Grabar en disco c/registro de bitácora insume gran costo de tiempo  se utilizan buffer, como proceder ? Una Transacción está parcialmente cometida después de grabar en memoria no volátil el Commit de la Bitácora. Un Commit de la Bitácora en memoria no volátil, implica que todos los registros anteriores de esa transacción ya están en memoria no volátil. Antes de grabar en la BD un bloque que está en mem. Ppal., deben haberse grabado en mem. Estable todos los registros de bitácora que pertenecen a los datos de ese bloque. (Siempre graba primero la Bitácora y luego la BD) IBD - CLASE 17 UNLP - Facultad de Informática

Recuperación en caso de Fallo Puntos de verificación Ante un fallo, que hacer REDO, UNDO: según el caso Revisar la bitácora Desde el comienzo ?: probablemente gran porcentaje esté correcto y terminado. Lleva mucho tiempo. Checkpoints (monousario) Se agregan periódicamente indicando desde allí hacia atrás todo OK. Cuan periódico ? IBD - CLASE 17 UNLP - Facultad de Informática

Recuperación en caso de Fallo Doble Paginación (Paginación en la Sombra) La BD se divide en un Nº determinado de bloques de long. fija (Páginas) Las páginas se numeran Para localizar una página dada en disco, se utiliza una tabla de paginado Se mantiene en memoria volatil una tabla actual y en almacenamiento estable una tabla doble (sombra) Al inicio de una transacción ambas tablas son iguales Durante una transacción solo se modifica la tabla actual En caso de falla, se usa la tabla doble para recuperación IBD - CLASE 17 UNLP - Facultad de Informática

Recuperación en caso de Fallo Doble Paginación (Paginación en la Sombra) IDEA principal: mantener 2 tablas de páginas durante la vida de una transacción (tabla de págs. actual y tabla de págs. sombra) IBD - CLASE 17 UNLP - Facultad de Informática

Recuperación en caso de Fallo Doble Paginación (Paginación en la Sombra) Cuando se realiza una transacción se genera una nueva página apuntada por la tabla actual La tabla de páginas de sombra mantiene un ptr a la página que contiene el estado anterior de los datos involucrados en la transacción (página con el estado anterior de la BD) IBD - CLASE 17 UNLP - Facultad de Informática

Recuperación en caso de Fallo Doble Paginación (Paginación en la Sombra) Ante caída de sistema o fallo de una transacción, se recupera el estado anterior de la BD desde la pág de sombra La tabla de págs. actual se escribe en almacenamiento NO volatil cuando la transacción pasa al estado de cometida. La pág actual se convierte en nueva pág de sombra y se ejecuta la sgte transacción IBD - CLASE 17 UNLP - Facultad de Informática

Recuperación en caso de Fallo Doble Paginación (Paginación en la Sombra) La tabla de pags sombra apunta siempre a las pags de la BD correspondientes al estado anterior de cualquier transaccion que estuviera activa en el momento de la caída del sistema. Así no es necesario disponer de una operación deshacer.(Abort automáticos, se tienen la dirección de la página anterior sin las modificaciones. ) IBD - CLASE 17 UNLP - Facultad de Informática

Recuperación en caso de Fallo IBD - CLASE 17 UNLP - Facultad de Informática

Recuperación en caso de Fallo Doble Paginación (Paginación en la Sombra) Ventaja: Menos accesos a disco Elimina la sobrecarga de escrituras del log Recuperación más rápida (no existe el REDO o UNDO). Desventaja: Complicada en un ambiente concurrente / distribuido. Las tablas de página tiene n entradas, una para cada página de la base de datos. Cada entrada contiene un puntero a una página en el disco. La primera entrada contiene un puntero a la primera página de la BD, la segunda entrada apunta a la segunda página, y así sucesivamente. Se muestra en la figura de la página siguiente que el orden lógico de las páginas de la BD no tiene por qué coincidir con el orde físico en el almacenamiento de disco. La idea de la página a la sombra es mantener dos páginas durante la vida de una transacción: la actual y la sombra. Estas dos tablas son idénticas cuando comienza una transacción. Mientras dura la transacción no se altera el contenido de la tabla de páginas sombra. Cuando la transacción realiza un write la tabal actual de páginas puede sufrir algún cambio. Todas las operaciones de E/S utilizan la tabal actual de páginas para encontrar las páginas de la BD en disco. IBD - CLASE 17 UNLP - Facultad de Informática

Recuperación en caso de Fallo Desventajas Sobrecarga: la técnica de paginación es por cada transacción. Fragmentación de datos: cambia la ubicación de los datos continuamente. Garbage Collector: ante un fallo queda una página que no es mas referenciada. IBD - CLASE 17 UNLP - Facultad de Informática

Recuperación en caso de Fallo Fallos con pérdida de memoria no volátil Qué pasa si el HD se rompe?. BACKUPS Características de los Backups. Almacenamiento de datos en memoria estable. Proceder con la Bitácora igual que antes pero ahora entre HD y Memoria Estable. Otra opción: HD espejos. IBD - CLASE 17 UNLP - Facultad de Informática