Вы находитесь на странице: 1из 9

Base de Datos 2

Concurrencia Problemas en un entorno concurrente Mtodos de control de concurrencia

Qu es la Concurrencia?
Es la propiedad de los sistemas que permiten que mltiples procesos sean ejecutado al mismo tiempo, y que potencialmente puedan interactuar entre si.

Qu es una transaccin?
Una transaccin es una unidad de programa que accede y posiblemente actualiza varios elementos de datos.

Problemas en un entorno concurrente


Problema de la Actualizacin Perdida
Este problema puede presentarse si dos transacciones concurrentes actualizan una misma tupla, y la segunda que se realiza al final ,no toma en cuenta el efecto de la primera.

Problema de la Dependencia no Confirmada


Ocurre si se permite que una transaccin lea o modifique una tupla que ha sido modificada por otra transaccin sin que se haya comandado el registro en firme de esta modificacin, si ocurriera una operacin de cancelacin podran generarse inconsistencias.

Problema del Anlisis Inconsistente

Ocurre cuando una transaccin hace un anlisis contable o estadstico, sobre una tupla que esta siendo actualizada por otra transaccin.

Mtodos de Control de Concurrencia


Marcas de Tiempo
Este mtodo se basa en marcas de tiempo para ordenar las transacciones. El plan resultante de esta ordenacin ser equivalente a un plan en serie con las transacciones ordenadas segn sus propias marcas de tiempo.

El mtodo consiste en dejar al sistema organizar las operaciones libremente, pero al ejecutar una operacin verifica que esta no contradice el orden de seriabilidad.

Este sistema asocia a cada elemento un par de variables; MARCA_LECTURA (MTR) y MARCA_ESCRITURA (MTW), en las que se escribir el valor de la marca de tiempo de una transaccin que las consulte.
De esta manera, la MARCA_LECTURA (X) ser igual a la marca de tiempo de la ultima transaccin que haya ledo con xito el elemento X.

Regla de escritura de Thomas


Fue diseada para rechazar menos operaciones de escritura. Si se va a escribir un elemento que haya sido escrito por una transaccin ms joven, simplemente se ignora la escritura, obteniendo el mismo efecto como sta escribiese su valor justo despus de que la transaccin que est intentando escribir hubiera escrito su valor, lo que sera vlido. El caso del intento de operacin lectura(X) queda por tanto as: Si marca_lectura(X) es mayor que la marca de T, abortar, y deshacer T. Si marca_lectura(X) es mayor que la marca de T, ignorar esta operacin y continuar. En otros casos se ejecuta la operacin y se asigna a marca_lectura(X) el valor dela marca de lectura de T.

Вам также может понравиться