Monografias.com > Computación > Programación
Descargar Imprimir Comentar Ver trabajos relacionados

Control de la concurrencia




Enviado por Pablo Turmero



Partes: 1, 2

    Monografias.com

    1
    Control de la concurrencia
    Objetivos

    Conocer la problemática asociada a la concurrencia de transacciones en los sistemas de bases de datos
    Entender el significado de la serializabilidad y su aplicación al control de la concurrencia
    Comprender algunas técnicas para el control de la concurrencia empleadas por los sistemas gestores de bases de datos

    Monografias.com

    2
    Control de la concurrencia
    Contenidos

    1. Introducción y problemas de la concurrencia
    2. Serializabilidad
    3. Técnicas de control de la concurrencia
    4. Granularidad de datos

    Monografias.com

    3
    Bibliografía

    [CB 2005] Connolly, T.; Begg C.: Sistemas de bases de datos. 4ª Edición. Pearson Educación. Addison Wesley. (Cap. 20)
    [EN 2002] Elmasri, R.; Navathe, S.B.: Fundamentos de Sistemas de Bases de Datos. 3ª Edición. Addison-Wesley. (Cap. 19 y 20)
    [EN 1997] Elmasri, R.; Navathe, S.B.: Sistemas de bases de datos. Conceptos fundamentales. 2ª Edición. Addison-Wesley Iberoamericana. (Cap. 17 y 18)
    Control de la concurrencia

    Monografias.com

    4

    Los sistemas de bases de datos, según el número de usuarios que pueden utilizarlos de forma concurrente, se clasifican en sistemas monousuario y multiusuario

    Varios usuarios pueden usar un mismo equipo a la vez gracias a la multiprogramación: el computador puede procesar al mismo tiempo varias transacciones
    Si el equipo tiene varias CPU, es posible el procesamiento simultáneo (paralelo) de transacciones
    Si sólo hay una CPU, el SO de multiprogramación reparte el tiempo de CPU entre las transacciones: ejecución concurrente intercalada
    modelo que supondremos
    Introducción…

    Monografias.com

    5

    Varias transacciones introducidas por usuarios, que se ejecutan de manera concurrente, pueden leer/modificar los mismos elementos almacenados en la base de datos

    Razones para permitir la concurrencia:
    Aumentar la productividad: número de transacciones ejecutadas por minuto.
    Aumentar la utilización de la CPU (menos tiempo ociosa) y Control del disco.
    Reducir el tiempo medio de respuesta de transacciones (las ‘pequeñas’ no esperan a las ‘grandes’).

    Introducción…

    Monografias.com

    6
    … porque pueden surgir problemas si las transacciones concurrentes se ejecutan de manera no controlada
    Ejemplo sencillo:sistema de bases de datos que permite hacer y anular reservas de plazas en vuelos de diferentes compañías aéreas.
    Se almacena un registro por cada vuelo, que incluye, entre otras cosas, el número de asientos reservados en el vuelo
    Sean dos transacciones T1 y T2 concurrentes:
    T1 transfiere N reservas realizadas en un vuelo X a otro vuelo Y
    T2 reserva M plazas en el vuelo X
    … y problemas de la concurrencia
    ¿Por qué es necesario el control de la concurrencia?

    Monografias.com

    7
    … y problemas de la concurrencia
    Problemas potenciales provocados por la concurrencia
    Transacción T1
    leer_elemento(X);
    X:= X-N;
    escribir_elemento(X);
    leer_elemento(Y);
    Y:=Y+N;
    escribir_elemento(Y);
    Transacción T2
    leer_elemento(X);
    X:= X+M;
    escribir_elemento(X);
    Aunque las transacciones pueden ser perfectamente correctas en sí mismas, la ejecución concurrente de T1 y T2 puede producir un resultado incorrecto, debido a la intercalación de sus operaciones, poniendo en cuestión la integridad y la coherencia de la base de datos

    Monografias.com

    8
    La actualización perdida
    T1 y T2 que acceden a los mismos datos, tienen sus operaciones intercaladas de modo que hacen incorrecto el valor de algún dato
    … y problemas de la concurrencia
    Problemas potenciales provocados por la concurrencia
    T1
    leer_elemento(X);
    X:= X-N;

    escribir_elemento(X);
    leer_elemento(Y);

    Y:=Y+N;
    escribir_elemento(Y);
    T2

    leer_elemento(X);
    X:= X+M;

    escribir_elemento(X);
    El elemento X tiene un valor incorrecto porque su actualización por T1 se ‘perdió’ (se sobreescribió)

    Partes: 1, 2

    Página siguiente 

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter