Concurrencia

Solo disponible en BuenasTareas
  • Páginas : 10 (2391 palabras )
  • Descarga(s) : 0
  • Publicado : 8 de septiembre de 2012
Leer documento completo
Vista previa del texto
Universidad Mariano Gálvez de Guatemala
Facultad de Ingeniería en Sistemas
Ingeniería en Sistemas de la Información
Cátedra: Diseño de Base de Datos
Catedrática: Ing. Jorge Pérez

Contenido:
Tarea 5 Investigación

Nombre: Nelson Neftalí Hernández Sermenio

18 de Agosto de 2012.

INTRODUCCION

La concurrencia comprende un gran número de cuestiones de diseño, incluida lacomunicación entre procesos, compartición y competencia por los recursos, sincronización de la ejecución de varios procesos y asignación del tiempo de procesador a los procesos. Se verá que estas cuestiones no solo surgen en entornos de multiprocesadores y proceso distribuido, sino incluso en sistemas multiprogramados con un solo procesador.
En un sistema multiprogramado con un único procesador, los procesosse intercalan en el tiempo aparentando una ejecución simultánea. Pero esto también tiene sus desventajas ya que pueden darse algunos problemas que impidan que se mantengan la Base de Datos consistente, de esta problemática se tienen algunas soluciones o métodos que se deben usar en la planificación de la concurrencia para evitar los problemas, entre estos métodos existen los bloqueos, que veremosa continuación.




OBJETIVOS

* Conocer los problemas que trae consigo la concurrencia.

* Conocer las posibles algunas posibles soluciones a los problemas que conlleva la concurrencia.

LOST UPDATE:

El lost update (actualización perdida) ocurre cuando se pierde la actualización hecha por una transacción T1 por la acción de otra transacción T2 sobre el mismo ítem.Ejemplo 1:
Supongamos el programa P=Read(A); A:=A+1; Write(A); y dos ejecuciones de P, T1 y T2 sobre el ítem A, con el siguiente entrelazamiento:

Nota:
Read(A) copia el valor del ítem A en disco a la variable local de la transacción.
Write(A) copia el valor de la variable local de la transacción al ítem A en disco.
A:=A+1 se hace sobre la variable local de la transacción.

DIRTY READ:

Eldirty read, lectura sucia o Modificación temporal ocurre cuando una transacción T2 lee un valor de un ítem dejado por otra transacción T1 que no hizo commit antes de que T2 leyera el item.
Observemos que si T1 aborta, T2 se quedó con un valor sucio que será deshecho por el rollback de T1.
Esto además podría producir un fenómeno no deseado como es el aborto en cascada (si T2 leyó de T1 queabortó, deberíamos abortar T2, luego si T3 leyó de T2 deberíamos abortar a su vez T3 y así sucesivamente)

Ejemplo 2:
Supongamos los programas:
P1=Read(A); A:=A-1; Write(A); Read(B); B:=B/A; Write(B);
P2=Read(A); A:=A*2; Write(A); y dos ejecuciones: una T1 de P1 sobre los ítems A y B, y una T2 de P2 sobre el ítem A, con el siguiente entrelazamiento:

PLANIFICA

PLANIFICACION DE CONCURRENCIAPara evitar que se destruya la consistencia de la base de datos debe establecer un mecanismo denominado esquemas de control de concurrencia.
Cabe destacar o tener en cuenta lo siguiente:
* No se verifican todas las instrucciones, sólo las operaciones de lectura y de escritura de la base de datos.
* Cuando se realizan operaciones secuenciales de lectura y de escritura en el mismo puntode la base de datos, entonces la planificación puede generar inconsistencias.

BLOQUEOS

Existen varias técnicas para controlar la concurrencia. Los bloqueos son los más conocidos, aunque también se utiliza el control multi-versión y otras técnicas como las marcas de tiempo.

Los bloqueos como solución al problema de la concurrencia: Una forma de controlar la concurrencia es hacer que cadatransacción deba adquirir un derecho de acceso exclusivo a cada fragmento de datos que necesite modificar. A estos “derechos” se les denomina bloqueos.

Bloqueos binarios: La forma más simple de bloquear es utilizar bloqueos binarios. En un bloqueo binario, cada transacción debe solicitar el bloqueo de cada fragmento de datos A que vaya a utilizar antes de acceder a él (sea para leerlo o...
tracking img