Candados en Base de datos

Páginas: 8 (1845 palabras) Publicado: 10 de julio de 2013
Candados en las Bases de datos o Sistemas distribuidos.

Una de las principales técnicas para controlar la ejecución concurrente de las transacciones se basa en el concepto de bloquear elementos de información. Un candado es una variable asociada a un elemento de información de la base de datos y describe el estado de ese elemento respecto a las posibles operaciones que se pueden aplicar a él.En general, hay un candado por cada elemento de información en la base de datos. Usamos los candados como una forma de sincronizar el acceso a los elementos de la base de datos por parte de transacciones concurrentes.

Podemos usar varios tipos de candados en el control de la concurrencia.

Candados primarios: Un candado binario puede tener dos estados o valores: bloqueado y desbloqueado(1,0). A cada elemento X de la base de datos se asocia un candado distinto. Si el valor del candado sobre X es 1, ninguna operación de la base de datos que solicite el elemento podrá tener acceso a él. Si el valor del candado sobre X es 0, se podrá tener acceso al elemento cuando se solicite. No referiremos al valor del candado asociado al elemento X como CANDADO(X).

Cuando se usa el bloqueobinario se debe incluir en las transacciones dos operaciones, bloquear_elemento y desbloquear_elemento. Una transacción solicita acceso a un elemento X emitiendo una operación bloquear_elemento(X). SI CANDADO(X)=1, la transacción tiene que esperar; si no, la transacción asigna 1 a CANDADO(X) (bloquea el elemento) y tiene que esperar; si no, la transacción obtiene el acceso. Cuando la transacción terminade usar el elemento, emite una operación desbloquear_elemento(X), que asigna 0 a CANDADO(X) (desbloquea elemento) para que otras transacciones puedan tener acceso a X. Así pues, un candado binario impone una exclusión mutua sobre el elemento de información.

El SGBD cuenta con un subsistema gestor de bloqueo para mantenerse al tanto del acceso a los candados y controlarlos.

Cuando se utilizael esquema de bloqueo binario, toda transacción debe obedecer las siguientes reglas:

Una transacción T debe emitir una operación bloquear_elemento(X) antes de que se realice cualquier operación leer_elemento(X) o escribir_elemento(X) en T.
Una transacción T debe emitir la operación desbloquear_elemento(X) después de haber completado todas las operaciones leer_elemento(X) yescribir_elemento(X) en T.
Una transacción T no emitirá una operación bloquear_elemento(X) si ya posee el bloqueo del elemento X.
Una transacción T no emitirá una operación desbloquear_elemento(X) a menos que ya posea el bloqueo del elemento X.

Candados compartidos y exclusivos. Permite que varias transacciones tengan acceso al mismo elemento X si lo hace exclusivamente para leerlo. Sin embargo, si unatransacción va a escribir un elemento X deberá poseer acceso exclusivo a él. A este tipo de candado se le llama candado de modo múltiple. en este esquema hay tres operaciones de bloqueo: bloquear_lectura(X), bloquear_escritura(X) y desbloquear(X). Ahora un candado asociado a un elemento X, CANDADO(X), tiene tres posibles estados: bloqueado para leer, bloqueado para escribir o desbloqueado.

Cuandousamos el esquema de bloqueo múltiple, el sistema debe hacer cumplir las siguientes reglas:

Una transacción T debe emitir la operación bloquear_lectura(X) o bloquear_escritura(X) antes de que realice cualquier operación leer_elemento(X) de T.
Una transacción T debe emitir la operación bloquear_escritura(X) antes de que realice cualquier operación escribir_elemento(X) de T.
Una transacción T debeemitir la operación desbloquear_elemento(X) una vez que se hayan completado todas las operaciones leer_elemento(X) y escribir_elemento(X) de T.
Una transacción T no emitirá una operación bloquear_lectura(X) si ya posee un candado de lectura (compartido) o de escritura (exclusivo) para el elemento X. Esta regla debe permitir excepciones.
Una transacción T no emitirá una operación bloquear...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • BASE DE DATOS , base de datos
  • Bases de datos y usuarios de bases de datos
  • Que es una base de datos y tipos de base de datos
  • Algoritmos basados en candados
  • Base De Datos
  • Base De Datos
  • Base de datos
  • Base De Datos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS