


























Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Los mejores documentos en venta realizados por estudiantes que han terminado sus estudios
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Descubre las mejores universidades de tu país según los usuarios de Docsity
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Este documento pertenece a la materia de Ingeniería en Sistemas Computacionales de la carrera de Informática. Se trata de la unidad 4 del módulo Sistemas Operativos Distribuidos, donde se estudian los conceptos básicos de transacciones, control de concurrencia y replicación. Las transacciones son unidades de trabajo que agrupan varias operaciones en un sistema gestor de base de datos, necesarias en casos donde las operaciones a realizar pueden considerarse una sola unidad. El control de concurrencia es necesario cuando se ejecutan varias transacciones de manera simultánea en distintos procesadores, y se necesita un mecanismo para mantener a cada uno lejos del camino del otro. Se presentan tipos de concurrencia de transacciones, como optimista y pesimista, y se analiza un ejemplo de sistema de reservación de tickets de avión.
Tipo: Diapositivas
1 / 34
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!
Unidad 4: TRANSACCIONES, CONTROL DE CONCURRENCIA Y
◼ Describir los conceptos de transacciones, control de concurrencia y replicación.
Los SGBDs son sistemas concurrentes, i.e., admiten la ejecución concurrente de consultas. Ejemplo: Sistema de venta de billetes de avión. Por tanto, es necesario: Modelo de procesos concurrentes para admitir operaciones concurrentes que preserven la integridad de los datos.
◼ Las transacciones pueden limitarse de forma explicita con sentencias de tipo iniciar transacción y terminar transacción. iniciar T .....operaciones... terminar T
CONTROL DE CONCURRENCIA
CONTINUACIÓN… ◼ El control de concurrencia está dividido en 2 aproximaciones, bloqueo OPTIMISTA y PESIMISTA. Para el caso del ejemplo anterior se suele utilizar el bloqueo OPTIMISTA, que verifica en el momento de la realización de la operación si el estado de los recursos es el mismo que al inicio. En caso de fallar pues se envía una notificación al usuario de lo que ha pasado.
TRANSFERENCIA T1 PREMIO T LEER (A) A= A- ESCRIBIR (A) LEER (B) B=B+ ESCRIBIR (B) LEER (A) A=A+ ESCRIBIR (A) T2 lee el valor de A antes de que T1 lo pueda actualizar, luego t1 escribe A, pero después t2 sobre escribe A con un valor incorrecto esta lectura se hace antes que T1 tenga oportunidad de actualizar A Esta escritura hace que el valor de A deT1 se pierda
PROPIEDADES ACID:
Una transacción es una unidad de trabajo en la que se produce una serie de operaciones entre las instrucciones BEGIN TRANSACTION y END TRANSACTION de una aplicación. Una transacción se ejecuta exactamente una vez y tiene carácter "atómico" (de subdivisión), es decir, el trabajo se realiza en su totalidad o no se realiza en ningún caso. Las operaciones asociadas a una transacción comparten normalmente un objetivo común y son interdependientes. Si el sistema ejecutase únicamente una parte de las operaciones, podría poner en peligro el objetivo final de la transacción. La atomicidad elimina la posibilidad de procesar un subconjunto de operaciones.
Una transacción es una unidad de integridad porque mantiene la coherencia de los datos, transformando un estado coherente de datos en otro estado de datos igualmente coherente. La consistencia requiere que los datos enlazados mediante una transacción se mantengan en términos de semántica. Una parte de la responsabilidad para mantener la coherencia recae en el programador de la aplicación que debe asegurarse de que ésta exija todas las restricciones de integridad conocidas. Por ejemplo, en el desarrollo de una aplicación en la que se transfiere dinero, se debe evitar el desplazamiento arbitrario de los puntos decimales durante la transferencia.