martes, 11 de septiembre de 2018

2.6 CONTROL DE CONCURRENCIA BDD

El control de concurrencia trata con los problemas de aislamiento y consistencia del
procesamiento de transacciones. El control de concurrencia distribuido de un SGBDD
asegura que la consistencia de la BD se mantiene en un ambiente distribuido
multi usuario. Si las transacciones son internamente consistentes, la manera más simple de lograr este objetivo es ejecutar cada transacción individualmente, una después de otra. Sin embargo, esto puede afectar en gran medida al desempeño de un SGBDD dado que el nivel de concurrencia se reduce al mínimo .El nivel de concurrencia, el número de transacciones activas es probablemente el parámetro más importante en sistemas distribuidos. Por lo tanto, los mecanismos de control de concurrencia buscan encontrar un balance entre el mantenimiento de la consistencia de la BD y el mantenimiento de un alto nivel de concurrencia.


Teoría de la seriabilidad.

Un programa se define sobre un conjunto de transacciones T = {T1, T2,..., Tn } y
especifica un orden entrelazado de la ejecución de las operaciones de las transacciones.
El programa puede ser especificado como un orden parcial sobre T.
Ejemplo de Teoría de la seriabilidad: Considere las siguientes tres transacciones:

T1: Read( x ) T2: Write( x ) T3: Read( x )

Write( x ) Write( y ) Read( y )

Commit Read( z ) Read( z )
Commit Commit

Un programa con las acciones de las tres transacciones anteriores puede ser:
H1 = {W2(x), R1(x), R3(x), W1(x), C1, W2(y), R3(y), R2(z), C2, R3(z), C3 }

Dos operaciones Oij(x) y Okl(x) (i y k no necesariamente distintos) que acceden al
mismo dato de la BD x se dice que están en conflicto si al menos una de ellas es de
escritura. De esta manera, las operaciones de lectura no tienen conflictos consigo
mismas.
Existen dos tipos de conflictos:
• de lectura-escritura (o escritura-lectura)
• de escritura-escritura.

Por tanto el orden de ejecución entre dos operaciones en conflicto es importante.
Un programa completo define el orden de ejecución de todas las operaciones en su
dominio.
Si en un programa S, las operaciones de varias transacciones no están entrelazadas,
entonces se dice que el programa es serial. Si cada transacción es consistente (obedece
las reglas de integridad), entonces se garantiza que la BD será consistente al final del
programa serial. La historia asociada a este tipo de programa se le conoce como serial.

No hay comentarios.:

Publicar un comentario