ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Consecuencias De La Interferencia Entre Transacciones


Enviado por   •  19 de Agosto de 2013  •  410 Palabras (2 Páginas)  •  454 Visitas

Página 1 de 2

Cuando los accesos concurrentes son todos de lectura (es decir, cuando la BD

sólo se consulta), el problema que se produce es simplemente de rendimiento,

causado por las limitaciones de los soportes de que se dispone: pocos mecanismos

de acceso independientes, movimiento del brazo y del giro del disco demasiado

lentos, buffers locales demasiado pequeños, etc.

Cuando un usuario o más de uno están actualizando los datos, se pueden producir

problemas de interferencia que tengan como consecuencia la obtención

de datos erróneos y la pérdida de integridad de la BD.

Para tratar los accesos concurrentes, los SGBD utilizan el concepto de transacción

de BD, concepto de especial utilidad para todo aquello que hace referencia

a la integridad de los datos, como veremos a continuación.

Ejemplos de transacciones

1) Imaginemos un programa pensado para llevar a cabo la operación de transferencia de dinero

de una cuenta X a otra Y. Supongamos que la transferencia efectúa dos operaciones: en

primer lugar, el cargo a X y después, el abono a Y. Este programa se debe ejecutar de forma

que se hagan las dos operaciones o ninguna, ya que si por cualquier razón (por ejemplo, por

interrupción del flujo eléctrico) el programa ejecutase sólo el cargo de dinero a X sin abonarlos

a Y, la BD quedaría en un estado incorrecto. Queremos que la ejecución de este programa

sea tratada por el SGBD como una transacción de BD.

2) Otro ejemplo de programa que querríamos que tuviera un comportamiento de transacción

podría ser el que aumentara el 30% de la nota de todos los alumnos. Si sólo aumentara

la nota a unos cuantos alumnos, la BD quedaría incorrecta.

Para indicar al SGBD que damos por acabada la ejecución de la transacción, el

programa utilizará la operación de COMMIT. Si el programa no puede acabar

normalmente (es decir, si el conjunto de operaciones se ha hecho sólo de forma

parcial), el SGBD tendrá que deshacer todo lo que la transacción ya haya

hecho. Esta operación se denomina ROLLBACK.

Acabamos de observar la utilidad del concepto de transacción para el mantenimiento

de la integridad de los datos en caso de interrupción de un conjunto

de operaciones lógicamente unitario. Sin embargo, entre transacciones que se

ejecutan concurrentemente se pueden producir problemas de interferencia

que hagan obtener resultados erróneos o que comporten la pérdida de la integridad

de los datos.

Consecuencias de la interferencia entre transacciones

1) Imaginemos que una transacción que transfiere dinero de X a Y se ejecuta concurrentemente

con una transacción que observa el saldo de las cuentas Y y X, en este orden, y nos

muestra su suma.

...

Descargar como (para miembros actualizados)  txt (3 Kb)  
Leer 1 página más »
Disponible sólo en Clubensayos.com