CONCURRENCIA EN BASE DE DATOS

CONCURRENCIA EN BASE DE DATOS

El termino concurrencia se refiere al hecho de que los DBMS (SISTEMAS DE ADMINISTRACION DEBD) permiten que muchas transacciones puedan accesar a una misma base de datos a la vez. En un sistema de estos se necesitan algún tipo de mecanismos de control de concurrencia para asegurar que las transacciones concurrentes no interfieran entre sí. En sistemas multiusuario, es necesario un mecanismo para controlar la concurrencia. Se pueden producir inconsistencias importantes derivadas del acceso concurrente, como por ejemplo, el problema de la operación perdida.

Control de concurrencia
·         El problema de las actualizaciones perdidas: cuando dos transacciones concurrentes borran el efecto una de la otra

·         Recuperaciones inconsistentes: acceder a información modificada parcialmente por una transacción de Ian.

Métodos

Cabe destacar antes de comenzar el estudio de los protocolos basados en bloqueos que son los más utilizados por los SGBD comerciales. Los demás tienen un alcance más teórico que práctico. Un bloqueo es una variable asociada a un elemento de datos de la base de datos, usada para restringir las operaciones que se pueden aplicar sobre él. Existen varios tipos de bloqueo: binarios (de propiedades limitadas), compartidos, exclusivos (usados en la práctica), y bloqueos de certificación. Las operaciones sobre bloqueos se deben implementar como secciones críticas, es decir, de forma indivisible; el SGBD no deberá alternar sus instrucciones con otras.
 
El ejemplo más común de un bloqueo mutuo es cuando un recurso A está siendo utilizado por una transacción A que a su vez solicita un recurso B que está siendo utilizado por una transacción B que solicita el recurso A.


Ejemplos

  • El hecho de reservar un asiento en un avión mediante un sistema basado en aplicaciones web, cuando decenas de personas en el mundo pueden reservarlo también, nos da una idea de lo importante y crucial que es el control de concurrencia en un sistema de base de datos a mediana o gran escala.


  • Otro ejemplo en el que podemos observar la incidencia del control de concurrencia en el siguiente: en una Base de Datos bancaria podría ocurrir que se paguen dos cheques en forma simultánea sobre una cuenta que no tiene saldo suficiente para cubrirlos en su totalidad, esto es posible evitarlo si se tiene un control de concurrencia.

Comentarios