Control de Concurrencia

Slides:



Advertisements
Presentaciones similares
IBD Clase 18.
Advertisements

IBD Clase 17.
Diseño de Bases de Datos Distribuidas (4ta Parte)
Repaso de Conjuntos Conjuntos y subconjuntos
Base de Datos Distribuidas FUNDAMENTOS DE BASES DE DATOS DISTRIBUIDAS
Sistemas de Bases de Datos Distribuidas
Optimización de Consultas Distribuidas
Módulo VII Carmen R. Cintrón Ferrer, 2008, Derechos Reservados1.
Arquitecturas de las BDD
Fundamentos de Sistemas de Información
Confiabilidad en Bases de Datos Distribuidas
Teoría de Autómatas II 3º curso Ingeniería Técnica en Informática de Sistemas UNED.
Sistemas Operativos Distribuidos
Base de Datos Distribuidas
BASES DE DATOS DISTRIBUIDAS
Sistemas Gestores de Bases de Datos.
Bases de Datos Distribuidas, Paralelas, Replicación y la WWW
1.1.2 Sistemas de información para la gestión y para la ayuda en la toma de decisiones. Los SI contribuyen activamente a la consecución de los objetivos.
MOTORES DE BASE DE DATOS
BASES DE DATOS DISTRIBUIDAS
Teoría de conjuntos Un conjunto es una colección o clase de objetos bien definidos y diferenciables entre sí. Los conjuntos pueden ser finitos o infinitos.
Conceptos de Extracto y Réplica Extracto –Es una copia no actualizable de una BD maestra –Si la BD maestra es modificada, un nuevo Extracto debe ser hecho.
Diseño de Bases de Datos Distribuidas (2da Parte)
Manejo de Transacciones
Bases de Datos Distribuidas Por: Israel Miralles y Vicente Toledo.
Diseño de Bases de Datos Distribuidas (1era Parte)
006 MATRIZ INVERSA MATRIZ INVERSA.
Introducción a los SSOO Sebastián Sánchez Prieto.
Teoría de Conjuntos Prof. Carlos Coronel R..
Análisis y Diseño de Algoritmos
Transacciones, Recuperación y Control de Concurrencia
Procesamiento de Consultas Distribuidas (1era Parte)
Deadlocks Abrazo Mortal Bloqueos mutuos
7. Control de la concurrencia
PARTE I  ANDRI GIOVANNI HERNANDEZ CAMPOSECO. ANDRI GIOVANNI HERNANDEZ CAMPOSECO Check point video: Dead Lock:
TRANSACCIONES DISTRIBUIDAS
Ing. Fabián Ruano.  Definición  Diferencias con BD Centralizadas.
6. Recuperación de fallos
12 Reglas para un SBDD Autonomía local.
CONCEPTO SOBRE TRANSACCIONES
Transacciones en sistemas de base de datos
Bases de Datos Distribuidas
TRANSACCIONES DISEÑO DE BASE DE DATOS.
BASES DE DATOS DISTRIBUIDAS
Departamento de Informática Universidad de Rancagua
Departamento de Informática Universidad de Rancagua
PROGRAMACION ORIENTADA A OBJETOS
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.
Sistema de información Conjunto de procesos que recogen, elaboran, almacenan y diseminan información para soportar el manejo y control de las operaciones,
Beatriz Adriana Sabino Moxo
Beatriz Adriana Sabino Moxo
La mayoría de las bases de datos se utilizan en entornos multi-usuario, en los que muchos clientes utilizando la misma aplicación, o muchas aplicaciones.
BASES DE DATOS DISTRIBUIDAS
.a a 1 + Q Sean m y n números fraccionarios, [a;b] un representante de m y [c;d] un representante de n. Decimos m + n es la suma de m y n,
1 Temas fundamentales del Curso Conceptos básicos de Sistemas Distribuidos. Caracterización de los sistemas distribuidos. Concurrencia en Sistemas Distribuidos.
Unidad 1. CONCEPTOS DE BASES DE DATOS
Clase 106. Sean a, b, r, y s (a>0, b>0) números reales cualesquiera, entonces se cumple: 1 ) a r  a s = a r+s 2 ) a r  b r = (a  b) r 3 ) a r : a s.
Introduccion Ambiente declarativo para construir aplicaciones web. Montado sobre SW abierto. Orientado a grupos pequeños de desarrolladores. Proyectos.
 Definir conceptos fundamentales de las BDD como DTM y DBMS.  Conocer el esquema actual de la Base de datos de la UNACH.  Analizar cuándo utilizar.
Administración de Base de Datos Recuperación Prof Mercy Ospina Torres
Creado por Edgar Codd, 1970: Artículo “A Relational Model of Data for Large Shared Data Banks”. EL MODELO RELACIONAL.
Bd NoSQL Técnicas II PROFA. MERCY OSPINA
Administración de Base de Datos Concurrencia Prof Mercy Ospina Torres Prof Renny A. Hernandez
Clase 1. Clase 7 Clase 8.
Escribe el nombre a los números 1 _______________________ 2 _______________________ 3_______________________ 4_______________________ 5 _______________________.
Lee :
PORTAFOLIO DE CONTABILIDAD BASICA. Parcial No. 1.
Aborto.
Clase
Transcripción de la presentación:

Control de Concurrencia Lic. Bárbara da Silva Sistemas de Bases de Datos Distribuidas - UCV

Esquema de la Clase Caracterización de una Transacción Formalización del concepto de transacción Discusión Tarea Control de Concurrencia Teoría de la Seriabilidad Seriabilidad en BD Centralizadas Seriabilidad en BDD Distribuidas Mecanismos de Control de Concurrencia Algoritmos Manejo de Abrazo Mortal

Caracterización de una Transacción Una transacción lee y escribe data. Entonces: RS = Conjunto de elementos de datos de la BD leidos por una transacción. WS = Conjunto de elementos de datos escritos por una transacción. Por tanto el conjunto base de una transacción es: BS = RS U WS

Formalización del Concepto de Transacción Oij(x) = Una operación Oj de la transacción Ti que opera sobre la entidad x de la BD. Donde Oij Є {R(x), W(x)} El conjunto de todas las operaciones en Ti se puede definir como: Osi = UjOij Ni = La condición de terminación para Ti. Ni Є {abort, commit} Una transacción Ti es un orden parcial sobre las operaciones y la condición de terminación. Ese orden parcial se denota como: Ti = {∑i, <i} ‹ Indica el orden de ejecución (precede a)

Formalización del Concepto de Transacción ∑i = Osi U {Ni} Para dos operaciones cualesquiera Oij, Oik Є Osi si Oij = {R(x) ó W(x)} y Oik = W(x) Para cualquier x, Entonces Oij < Oik ó Oik < Oij  Oij Є Osi Oij <i Ni

Formalización del Concepto de Transacción ∑ = {R(x), R(y), W(y), C} < = {(R(x), W(y)), (R(y), W(y)), (R(x), C), (R(y), C), (W(y), C)} = {R(x), R(y), W(y), C} BEGIN_TRANSACTION Read(x) Read(y) y = y * x; Write(y) Commit END_TRANSACTION Grafo Dirigido Acíclico (DAG) de T R(x) W(y) C R(y)

Control de Concurrencia El Mecanismo de Control de Concurrencia de un DDBMS asegura que se mantiene la consistencia de la base de datos en un ambiente distribuido multiusuario. Sino se hace un adecuado control de concurrencia, se pueden presentar dos anomalías: Se pueden perder actualizaciones provocando que los efectos de algunas transacciones no se reflejen en la base de datos Pueden presentarse recuperaciones de información inconsistentes.

Teoría de la Seriabilidad Establece que un algoritmo de control de concurrencia es correcto cuando sus resultados son los mismos que si se hubiese procesado secuencialmente. BEGIN_TRANSACTION X = 0; X = X + 1; END_TRANSACTION BEGIN_TRANSACTION X = 0; X = X + 2; END_TRANSACTION BEGIN_TRANSACTION X = 0; X = X + 3; END_TRANSACTION Schedule 1 x = 0; x = x+1; x = 0; x = x+2; x = 0; x = x+3; Si Schedule 2 x = 0; x = 0; x = x + 1; x = x + 2; x = 0; x = x+3; Schedule 3 x = 0; x = 0; x = x+1; x = 0; x = x+2; x = x+3; No

Seriabilidad en BD Centralizadas Sean las transacciones Ti = Ri(x) Wi(y) Tj = Rj(x) Wj(x) Tk = Rk(y) Por definición la ejecución serial de Ti Tj Tk es correcta Si tenemos una historia de ejecución S1 = Ri(x) Rj(x) Wi(y) Rk(y) Wj(x) Queremos saber si es correcta

Seriabilidad en BD Centralizadas Dos transacciones Ti y Tj se ejecutan serialmente en una historia S si la última operación de Ti precede la primera operación de Tj en S o viceversa, en otro caso ellas se ejecutan concurrentemente. Seriabilidad: Una historia es correcta si ésta es serializable, esto es, ella es equivalente a una historia serial. Operaciones en Conflicto: Dos operaciones Oi y Oj están en conflicto si 1. Son emitidas por transacciones diferentes 2. Operan sobre el mismo dato y una de ellas es una escritura. Ejemplo: (Ri(x) Wj(x)) y (Wi(x) Wj(x)) son operaciones en conflicto.

Seriabilidad en BD Centralizadas Condición suficiente para equivalencia Dos historias S1 y S2 son equivalentes si para cada par de operaciones en conflicto Oi y Oj se tiene que: Si Oi precede a Oj en S1 => Oi precede a Oj en S2 Ejemplo: S1 = Ri(x) Rj(x) Wj(y) Wi(x) S2 = Rj(x) Wj(y) Ri(x) Wi(x) -> Es una historia serial: Tj Ti Las operaciones en conflicto son Rj(x) con Wi(x) Rj(x) precede a Wi(x) en S1 y en S2 S1  S2, Por tanto S1 es una historia correcta

Seriabilidad en BDD Se dispone de: n transacciones distribuidas T1, T2,..., Tn sobre m nodos Un conjunto local de historias S1, S2,..., Sm La seriabilidad de historias locales no es suficiente para asegurar la correctitud de ejecución de un conjunto de transacciones distribuidas.

Seriabilidad en BDD Ejemplo: S1 (nodo 1) = Ri(x) Wi(x) Rj(y) Wk(x) S2 (nodo 2) = Wj(z) Wi(z) S3 (nodo 3) = Wj(z) Rk(z) Las tres historias son serializables: S1 = Ti Tj Tk S2 = Tj Ti S3 = Tj Tk Sin embargo no existe una secuencia global de ejecución de las transacciones ya que Ti < Tj en S1 y Tj < Ti en S2.

Condición de Seriabilidad en BDD La ejecución de transacciones T1, T2,...,Tn es correcta si: Cada historia local Sk es serializable. Existe un ordenamiento total de T1, T2, ... ,Tn tal que si Ti < Tj en el ordenamiento total, entonces existe una historial serial Sk’ tal que Sk es equivalente a SK’ y Ti < Tj en Serial(Sk’) para cada nodo k donde ambas transacciones son ejecutadas.

Condición de Seriabilidad en BDD Ejemplo: S1 (nodo 1) = Ri(x) Wi(y) Rj(y) Wk(x) S2 (nodo 2) = Wi(y) Wj(z) S3 (nodo 3) = Wj(z) Rk(z) Las tres historias son serializables: S1 = Ti Tj Tk S2 = Ti Tj S3 = Tj Tk En el nodo 1 Ti < Tj y Tj < Tk En el nodo 2 Ti < Tj En el nodo 3 Tj < Tk Entonces: Ti Tj Tk es un orden total que satisface la condición de seriabilidad

Condición de Seriabilidad en BDD Proposición: Sean T = {T1, T2, ..., Tn} un conjunto de transacciones E = {S1, S2,..., Sm} una ejecución de T E es serializable si existe un ordenamiento total de las transacciones tal que para cada par de operaciones en conflicto Oi y Oj de las transacciones Ti y Tj respectivamente Oi < Oj en cualquier historia de E si y solo si Ti < Tj en el ordenamiento total. Un mecanismo de control de concurrencia es correcto si éste sólo permite ejecuciones correctas de transacciones distribuidas