Control de Concurrencia



Documentos relacionados
GESTION DE TRANSACCIONES

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

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

Capítulo IV. INTERBLOQUEO E INANICIÓN

INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS

SISTEMAS DE RECUPERACIÓN

Tema 4. Gestión de entrada/salida

Sistema de Recuperación. Carlos A. Olarte BDII

Sistemas de Operación II

ADMINISTRACIÓN DE BASES DE DATOS DISTRIBUIDAS

UNIDAD 3 ASPECTOS ASOCIADOS CON BASES DE DATOS. Diseno Físico de Bases de Datos Objetivo. 2.2 Visión General del Procesamiento de Consultas

CONCEPTOS DE PROCESAMIENTO DE TRANSACCIONES

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

Asignación de Procesadores

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

Capitulo V Administración de memoria

Bases de Datos 3º Informática de Sistemas

Procesos. Procesos. Concurrencia de procesos. Qué es un proceso? Estados de un proceso. Modelo de 2 estados. (C) 2008 Mario Medina 1

SISTEMAS OPERATIVOS AVANZADOS

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

UNIDAD DIDACTICA 1: SISTEMAS GESTORES DE BASES DE DATOS

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

TEORIA DE BASES DE DATOS. M. Sc. Cristina Bender Lic. Diana Gázquez

Arquitectura de sistema de alta disponibilidad

Requerimientos principales de un sistema operativo

Pipelining o Segmentación de Instrucciones

SISTEMAS DE ARCHIVOS DISTRIBUIDOS

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Unidad II: Administración de Procesos y del procesador

Tema 1: Introducción a los S.O. Ejercicios de Planificiación de Procesos

BASES DE DATOS TEMA 1

TALLER No. 1 Capitulo 1: Conceptos Básicos de Bases de datos

Tema 6. Transacciones y seguridad

16.36: Ingeniería de sistemas de comunicación. Clase 15: ProtocolosARQ. Eytan Modiano

Plan de transición de la certificación con las normas ISO 9001 e ISO 14001, versión Fecha de Emisión:

Manejo de Transacciones

SIMM: TEORÍA DE LOS S.O. I.E.S. JUAN DE LA CIERVA CURSO 2007/2008

Tema 8 Procesos. * Definición informal: un proceso es un programa en ejecución

Instrucciones de instalación de IBM SPSS Modeler (licencia concurrente)

Sistemas Operativos. Curso 2016 Procesos

ANÁLISIS DE RIESGOS EN LA GESTIÓN DE PROYECTOS. Los riesgos son eventos o condiciones inciertas que, si se producen, tienen un

18 y 19 Sistemas de Archivos Distribuidos y Tarea 05

GUÍA DE SEGURIDAD DE LA INFORMACIÓN GUÍA GOBIERNO CORPORATIVO PARA EMPRESAS SEP

Tema 8: Gestión de la Configuración

Introducción a los sistemas de bases de datos

Fundamentos de Bases de Datos Distribuidas

Sistemas de archivos distribuidos. Alvaro Ospina Sanjuan

Módulo 7 Transacciones Distribuidas

ESCUELA DE ADMINISTRACIÓN

I. Disposiciones generales

Operación 8 Claves para la ISO

CAC/COSP/WG.4/2012/CRP.2

Organización de Computadoras. Turno Recursantes Clase 8

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

CERDO-IBERICO: FORO DE DISCUSIÓN SOBRE EL CERDO IBÉRICO EN INTERNET

15. Recuperación de fallos del sistema

Bases de Datos Especializadas

Requerimientos Principales de un Sistema Operativo. Descripción y Control de Procesos. Proceso

Control de Concurrencia. Carlos A. Olarte BDII

TEMA 6: MODIFICACIÓN DE LA BASE DE DATOS EN SQL

Plan de estudios ISTQB: Nivel Fundamentos

El soporte del sistema operativo. Hace que un computador sea más fácil de usar. Permite que los recursos del computador se aprovechen mejor.

Los números racionales

Seminario Profesional MS PROJECT MODULO 2: Introducción y organización de las tareas

Acuerdo de aprobación de la Normativa Básica de Correo Electrónico de la Universidad Miguel Hernández.

Administración de Bases de Datos

Programa de Formación de Entrenadores de la ITF Curso de Nivel 2. Planificación del entrenamiento del tenis

Tema 2. Procesos. 1. Concepto de proceso

Examen de Arquitectura de Computadores

UML, ejemplo sencillo sobre Modelado de un Proyecto

Guía de Uso. Administración de Tokens

Tema 07. LÍMITES Y CONTINUIDAD DE FUNCIONES

Introducción. Componentes de un SI. Sistema de Información:

PRÁCTICA 1. Creación de proyectos en STEP-7

OBTENER DATOS EXTERNOS

1 El plan de contingencia. Seguimiento

METODOS DE OPTIMIZACION DE CONSULTAS PARA EL LENGUAJE SQL.

Planificación y administración de redes SNMP

CAN BUS Controller Area Network:

24.3. BASES DE DATOS EN MEMORI A P RI NC I P AL

GESTIÓN DE LA DOCUMENTACIÓN

Bases de Datos 2. Teórico

LEER Y ESCRIBIR ARCHIVOS O FICHEROS EN C. FOPEN, FCLOSE, MODOS DE ACCESO READ, WRITE Y APPEND (CU00536F)

Es una colección de datos operativos almacenados y utilizados por los programadores de aplicaciones y por usuarios finales de muy diversa índole!

INTRODUCCIÓN A LAS BASES DE DATOS

MANUAL COPIAS DE SEGURIDAD

Guía para integración de sucursales.

Unidad VI: Supervisión y Revisión del proyecto

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

Capítulo 12: Indexación y asociación

Prestación por riesgo durante el embarazo y lactancia natural

Saint Louis School Educación Matemática NB2. Miss Rocío Morales Vásquez

Guía rápida para el usuario de Skype Instalación del programa y funcionalidad básica.

Árbol binario. Elaborado por Ricardo Cárdenas cruz Jeremías Martínez Guadarrama Que es un árbol Introducción

Manual de usuario Sucursal Virtual

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

Programa de soporte técnico ampliado MSA Start

PROYECTO SAGA ENDESA, CHILECTRA, ENERSIS Y FILIALES LATAM MANUAL DEL PROVEEDOR

ANÁLISIS Y GESTIÓN DEL DESARROLLO DE SOFTWARE TEMA 5: LA PLANIFICACIÓN DEL PRODUCTO

Sistemas Distribuidos Junio 2008

Transcripción:

Esquema de la clase Conceptos Preliminares Aspectos positivos y negativos de la ejecución concurrente Planificaciones y Secuencialidad Recuperabilidad Esquemas de

Conceptos Preliminares Transacción Propiedades Estados Atomicidad Consistencia Aislamiento Durabilidad Activa Parcialmente Comprometida Fallida Comprometida Abortada

Ejecución Concurrente Aspectos positivos y negativos Mayor Productividad Mejor utilización de los recursos Tiempo de espera reducido Mayor probabilidad de inconsistencias

Planificaciones Secuencias de ejecución de las instrucciones componentes de las transacciones Planificaciones Secuenciales T 1 T 2 T 1 T 2 A:= A 25 B:= B + 25 Temp:= A * 02 A:= A - Temp B:=B + Temp A:= A 25 B:= B + 25 Temp:= A * 02 A:= A - Temp B:=B + Temp

Planificaciones Planificaciones no Secuenciales Equivalente No Equivalente T 1 T 2 T 1 T 2 A:= A 25 B:= B + 25 Temp:= A * 02 A:= A - Temp B:=B + Temp A:= A 25 B:= B + 25 Temp:= A * 02 A:= A - Temp B:=B + Temp Estado inconsistente

Secuencialidad En cuanto a conflictos Una planificación P es secuenciable en cuanto a conflictos si es equivalente en cuanto a conflictos a una planificación secuencial Si una planificación P se puede transformar en otra P por medio de una serie de intercambios de instrucciones no conflictivas Si las instrucciones (de las distintas transacciones) a intercalar: No operan sobre el mismo elemento de datos Operan sobre el mismo elemento de datos, pero ninguna de ellas consituye una operación escribir

Secuencialidad En cuanto a conflictos T 1 T 2 T 1 T 2 T 1 T 2 Planificación Secuencial Planificación Secuenciable en cuanto a conflictos Planificación no Secuenciable en cuanto a conflictos

Secuencialidad En cuanto a vistas Una planificación P es secuenciable en cuanto a vistas si es equivalente en cuanto a vistas a una planificación secuencial 3 condiciones: Si la transacción T i lee el valor inicial de Q en P, entonces debe hacerlo también en P Si la transacción T i ejecuta lee(q) en P, y el valor lo ha producido T j, entonces debe hacerlo también en P La transacción que realice la última operación escribir(q) en P, debe hacerlo también en P

Secuencialidad En cuanto a vistas T 1 T 2 T 3 T 1 T 2 T 3 Leer(Q) Escribir(Q) Leer(Q) Escribir(Q) Escribir(Q) Escribir(Q) Escribir(Q) Escribir(Q) Planificación Secuencial Planificación Secuenciable en cuanto a vistas Planificación no Secuenciable en cuanto a conflictos Escrituras a ciegas

Recuperabilidad T 1 T 2 A:= A 25 Temp:= A * 02 A:= A - Temp Fallo Planificaciones recuperables T j lee elementos de datos que ha escrito T i T i debe comprometerse antes que T j Planificaciones sin cascada T j lee elementos de datos que ha escrito T i T i debe comprometerse antes que T j lea dichos elementos de datos

Esquemas de Protocolos basados en el bloqueo Gestor de Control de Concurrencia concede Compartido (C) Lectura Bloqueos Exclusivo (X) Lectura Escritura Consistencia Interbloqueos Inanición C X Compatibilidad C X

Esquemas de Protocolo de bloqueo de dos fases Protocolos basados en el bloqueo Cantidad de bloqueos Punto de bloqueo bloquea Secuencialidad en cuanto a conflictos desbloquea Probabilidad de Interbloqueos Fase 1 Crecimiento INICIO Fase 2 Decrecimiento FIN Duración de la transacción evitan Prob de retroceso en cascada Estricto Riguroso Una transacción debe conservar todos los bloqueos exclusivos hasta que se comprometa Una transacción debe conservar todos los bloqueos hasta que se comprometa

Esquemas de Protocolos basados en marcas temporales Sistema de Base de Datos asigna Marcas Temporales Valor del reloj del sistema Contador lógico Transacciones T 1 T 2 T n MT(T 1 ) MT(T 2 ) MT(T n ) MT(T 1 ) < MT(T 2 ) < MT(T n ) Q Elementos de datos mt-e (Q) mt-l (Q)

Esquemas de Protocolos basados en marcas temporales Protocolo de ordenación por marcas temporales T i ejecuta la operación leer(q) MT(T i ) < mt-e (Q) MT(T i ) mt-e (Q) Rechazo de la operación leer Retroceso de T i Se asigna una nueva Marca Temporal a T i y se inicia de nuevo Ejecución de la operación leer Asignación del máx entre MT(T i ) y mt-l (Q), a mt-l (Q) T i ejecuta la operación escribir(q) MT(T i ) < mt-l (Q) ó MT(T i ) < mt-e (Q) MT(T i ) mt-e (Q) ó MT(T i ) mt-l (Q) Rechazo de la operación escribir Retroceso de T i Ejecución de la operación escribir Asignación de MT(T i ) a mt-e (Q) Se asigna una nueva Marca Temporal a T i y se inicia de nuevo

Esquemas de Protocolos basados en marcas temporales Protocolo de ordenación por marcas temporales Secuencialidad en cuanto a conflictos Ausencia de Interbloqueos Probabilidad de Inanición Prob de planificaciones no recuperables y retrocesos en cascada

Esquemas de Granularidad múltiple Jerarquía de granularidad BD Nodo de Base de Datos Z 1 Z 2 Nodos de Zona A a A b A c Nodos de Archivo r a1 r a2 r an r b1 r bk r c1 r cm Nodos de Registro

Esquemas de Granularidad múltiple Jerarquía de granularidad Modo de bloqueo intencional Bloqueo intencional de la BD BD Intencional Exclusivo (IX) Intencional Compartido (IC) Bloqueo intencional de la zona Z 1 Intencional Exclusivo y Compartido (IXC) Bloqueo explícito del archivo A a Z 1 Z 2 Compatibilidad IC IX C IXC X A a A b A c IC IX r a1 r a2 r an r b1 r bk r c1 r cm C IXC Bloqueo implícito de los registros pertenecientes al archivo A a X

Esquemas de Granularidad múltiple Protocolo de bloqueo de granularidad múltiple T i puede bloquear un nodo Q siguiendo estas reglas: BD Considerar la tabla de compatibilidad de bloqueos Bloquear 1º la raíz del árbol, en cualquier modo Bloqueo Z 1 A b Z 2 A c Desbloqueo Bloquear el nodo en modo C o IC sólo si el padre está bloqueado en modo IX o IC Bloquear el nodo en modo X, IXC o IX sólo si el padre está bloqueado en modo IX o IXC Bloquear el nodo sólo si no ha desbloqueado ningún nodo antes (dos fases) Desbloquear el nodo sólo si no ha bloqueado ninguno de sus hijos r b1 r bk r c1 r cm Asegura la secuencialidad Reduce sobrecarga de bloqueos Probabilidad de Interbloqueos

Esquemas de Ordenación por marcas temporales multiversión Esquemas multiversión T 1 T 2 T n MT(T 1 ) MT(T 2 ) MT(T n ) Marcas temporales asociadas a las transacciones Q Q 1 Q 2 Q 3 n versiones asociadas al elemento de datos Q Q 1 Q n Q 1 Q 2 contenido mt-e (Q 1 ) mt-l (Q 1 ) Q 3 Valor de la versión Q 1 Marca temporal de la transacción que creó la versión Q 1 > Marca temporal de las transacciones que leyeron con éxito Q 1

Esquemas de Esquemas multiversión Ordenación por marcas temporales multiversión Sea Q k la versión de Q con mt-e(q k ) MT(T i ) T i ejecuta la operación leer(q) Se muestra el contenido de la versión más reciente de Q [ mt-e(q) < MT(T i ) ] T i ejecuta la operación escribir(q) MT(T i ) < mt-l(q k ) Retroceso de T i Asegura la secuencialidad Las peticiones de lectura no fallan y no tienen que esperar Las lecturas requieren actualizar el campo mt-l(q) (acceso extra al disco) MT(Ti) > mt-l(qk) y MT(T i ) = mt-e(q k ) MT(Ti) > mt-l(qk) y MT(T i ) > mt-e(q k ) Sobreescritura del contenido de Q k Creación de una nueva versión de Q k Los conflictos se resuelven por medio de retrocesos Prob de planificaciones no recuperables y retrocesos en cascada

Esquemas de Bloqueo de dos fases multiversión Esquemas multiversión T 1 T 2 T n MT(T 1 ) MT(T 2 ) MT(T n ) Asegura secuencialidad Las transacciones de sólo lectura no tienen que esperar Planif recuperables y sin cascada Prob de Interbloqueos Valor actual contador_mt n versiones asociadas mt(q) (Una sola marca temporal para Q) Q 1 Q 2 Q n Compromiso de T i : Q Q - Asigna mt(q) (cont+1) a la versión creada - Seteo Cont= Cont+1 Transacciones de sólo lectura T i ejecuta la operación leer(q) Se muestra el contenido de la versión más reciente de Q [ mt(q) < MT(T i ) ] Transacciones de actualización Realizan un bloqueo de 2 fases riguroso T i ejecuta la operación leer(q) T i obtiene un bloqueo compartido sobre Q T i lee la versión más reciente de Q T i ejecuta la operación escribir(q) T i obtiene un bloqueo exclusivo sobre Q T i crea una nueva versión de Q