Está en la página 1de 12

EQUIPO 2

Abimelec Hernandez Cruz Reyes Avelino May de la Cruz Ivan Omar Moreno Garca Luis Ivn Tiqu Torres

UNIDAD 4 - TRANSACCIONES

DOCENTE: M.A. JOS MANUEL AGUILAR CRUZ ASIGNATURA: BASE DE DATOS DISTRIBUIDAS

4.2.2.2 Basados en estampas de bloqueo


Un bloqueo en general es cuando una accin que debe ser realizada est esperando a un evento. En el caso especfico de las bases de datos distribuidas usar bloqueo de recursos, peticiones para probar, establecer o liberar bloqueos requiere mensajes entre los manejadores de transacciones y el calendarizador. Para esto existen dos formas bsicas: Autnoma: cada nodo es responsable por sus propios bloqueos de recursos. Copia Primaria: un nodo primario es responsable para todos los bloqueos de recursos

Podemos definir que dos operaciones entran en conflicto que debe ser resuelto si ambas acceden a la misma data, y una de ellas es de escritura y si fueron realizadas por transacciones distintas.

DOCENTE: M.A. JOS MANUEL AGUILAR CRUZ ASIGNATURA: BASE DE DATOS DISTRIBUIDAS

4.2.2.3 Pruebas de validacin optimistas.

DOCENTE: M.A. JOS MANUEL AGUILAR CRUZ ASIGNATURA: BASE DE DATOS DISTRIBUIDAS

Definimos Transaccin
Una transaccin es una coleccin de acciones que hacen transformaciones consistentes de los estados de un sistema preservando la consistencia del sistema.

DOCENTE: M.A. JOS MANUEL AGUILAR CRUZ ASIGNATURA: BASE DE DATOS DISTRIBUIDAS

Pesimistas vs Optimistas
Pesimistas: Cuando dos transacciones acceden al mismo dato se retrasa a una de ellas hasta que la otra finaliza. Ejemplo: cerrojos (locks). Puede haber interbloqueos (deadlocks). Optimistas: Se deja acceder libremente a cualquier dato, cuando la transaccin termina se efecta un test para averiguar si hubo conflicto. En caso positivo se aborta, en caso afirmativo compromete Ejemplo: marcas de tiempo (timestamps). Pueden provocar un nmero elevado de abortos.

Transaccion Pesimista
Validar Leer Computar Escribir

Transaccion Optimista
Leer Computar Escribir Validar
5 DOCENTE: M.A. JOS MANUEL AGUILAR CRUZ ASIGNATURA: BASE DE DATOS DISTRIBUIDAS

Asumir que los conflictos entre transacciones son muy frecuentes y no permiten el acceso a un dato si existe una transaccin conflictiva que accesa el mismo dato. La ejecucin de cualquier operacin de una transaccin sigue la secuencia de fases: validacin (V), lectura (R), cmputo (C) y escritura (W) (Ver la siguiente figura transaccin pesimista). Los algoritmos optimistas, por otra parte, retrasan la fase de validacin justo antes de la fase de escritura (Ver figura transaccin optimista). De esta manera, una operacin sometida a un despachador optimista nunca es retrasada. Las operaciones de lectura, cmputo y escritura de cada transaccin se procesan libremente sin actualizar la base de datos corriente. Cada transaccin inicialmente hace sus cambios en copias locales de los datos. La fase de validacin consiste en verificar si esas actualizaciones conservan la consistencia de la base de datos. Si la respuesta es positiva, los cambios se hacen globales (escritos en la base de datos corriente). De otra manera, la transaccin es abortada y tiene que reiniciar.
DOCENTE: M.A. JOS MANUEL AGUILAR CRUZ ASIGNATURA: BASE DE DATOS DISTRIBUIDAS 6

Es mejor el tratamiento optimista o el tratamiento pesimista?

En general, es preferible el optimista porque el pesimista tiende a arruinar el rendimiento de la Base de Datos, a crear situaciones de deadlock (bloqueos mortales) con ms frecuencia, a generar filas de espera por la disponibilidad de los datos y a aumentar la competicin entre los usuarios. Cuanto mayor sea la cantidad de usuarios mayores sern los trastornos que el tratamiento pesimista causar porque a mayor cantidad de bloqueos, mayor cantidad de problemas.

DOCENTE: M.A. JOS MANUEL AGUILAR CRUZ ASIGNATURA: BASE DE DATOS DISTRIBUIDAS

4.2.3 Disciplinas de Interbloqueo


El interbloqueo se puede definir como el bloqueo permanente de un conjunto de procesos que compiten por los recursos del sistema o bien se comunican unos con otros. A diferencia de otros problemas de la gestin concurrente de procesos, no existe una solucin eficiente para el caso general. Todos los interbloqueos suponen necesidades contradictorias de recursos por parte de dos o ms procesos.

La transaccin A tiene un bloqueo compartido de la fila 1. La transaccin B tiene un bloqueo compartido de la fila 2. La transaccin A ahora solicita un bloqueo exclusivo de la fila 2 y se bloquea hasta que la transaccin B finalice y libere el bloqueo compartido que tiene de la fila 2. La transaccin B ahora solicita un bloqueo exclusivo de la fila 1 y se bloquea hasta que la transaccin A finalice y libere el bloqueo compartido que tiene de la fila 1.
DOCENTE: M.A. JOS MANUEL AGUILAR CRUZ ASIGNATURA: BASE DE DATOS DISTRIBUIDAS 8

4.2.3 Disciplinas de Interbloqueo


Ejemplo
Interbloqueo de trfico
Cuatro coches llegan aproximadamente en el mismo instante a un cruce de cuatro caminos. Los cuatro cuadrantes de la interseccin son los recursos compartidos sobre los que se demanda control; por tanto, si los coches desean atravesar el cruce, las necesidades de recursos son las siguientes: El coche que va hacia el norte cuadrantes 1 y 2. El coche que va hacia el oeste cuadrantes 2 y 3. El coche que va hacia el sur cuadrantes 3 y 4. El coche que va hacia el este cuadrantes 4 y 1. necesita los necesita los necesita los necesita los

3 4

2 1

3 4

2 1

DOCENTE: M.A. JOS MANUEL AGUILAR CRUZ ASIGNATURA: BASE DE DATOS DISTRIBUIDAS

Prevencin del interbloqueo.


Objetivo: conseguir que sea imposible la aparicin de situaciones de interbloqueo. Impedir que se produzca una de las cuatro condiciones necesarias para producirlo: Exclusin mutua Retencin y espera No expropiacin Espera circular. Condicionar un sistema para quitar cualquier posibilidad de ocurrencia de interbloqueo.

Deteccin del interbloqueo


Con deteccin del interbloqueo, se decide dinmicamente si la peticin actual de asignacin de un recurso podra, de concederse, llevar potencialmente a un interbloqueo. La prediccin del interbloqueo necesita, por lo tanto, conocer las peticiones futuras de recursos. Enfoques para la prediccin del interbloqueo: - No iniciar un proceso si sus demandas pueden llevar a interbloqueo. - No conceder una solicitud de incrementar los recursos de un proceso si esta asignacin puede llevar a interbloqueo.

DOCENTE: M.A. JOS MANUEL AGUILAR CRUZ ASIGNATURA: BASE DE DATOS DISTRIBUIDAS

10

Eliminacin del interbloqueo.


Para eliminar interbloqueos abortando un proceso, tenemos dos mtodos; en ambos, el sistema recupera todos los recursos asignados a los procesos terminados. Abortar todos los procesos interbloqueados. Esta es una de las soluciones ms comunes, adoptada por Sistemas Operativos. Este mtodo romper definitivamente el ciclo de interbloqueo pero con un costo muy elevado, ya que estos procesos efectuaron clculos durante mucho tiempo y habr que descartar los resultados de estos clculos parciales. Abortar un proceso en cada ocasin hasta eliminar el ciclo de interbloqueo. Despus de cada aborto, debe solicitarse de nuevo el algoritmo de deteccin, para ver si todava existe el interbloqueo. Este mtodo cae en mucho tiempo de procesamiento adicional.

Recuperacin del interbloqueo


Limpiar un sistema de interbloqueos, una vez que fueron detectados. Una posibilidad es informar al operador que ha ocurrido un interbloqueo y dejar que el operador se ocupe de l manualmente. La otra posibilidad es dejar que el sistema se recupere automticamente del interbloqueo. Dentro de esta recuperacin automtica tenemos dos opciones para romper el interbloqueo: Una consiste en abortar uno o ms procesos hasta romper la espera circular, y la segunda es apropiar algunos recursos de uno o ms de los procesos bloqueados.
DOCENTE: M.A. JOS MANUEL AGUILAR CRUZ ASIGNATURA: BASE DE DATOS DISTRIBUIDAS 11

4.3 Confiabilidad
La confiabilidad es otro requerimiento indiscutible y probablemente el ms importante. Una base de datos no confiable es simplemente inutilizable. Para la mayora de las aplicaciones empotradas, en especial las empleadas en sistemas de tiempo real, la confiabilidad es una propiedad no negociable que deben tener todos los componentes. Un sistema de manejo de bases de datos confiable es aquel que puede continua procesando las solicitudes de usuario an cuando el sistema sobre el que opera no es confiable. En otras palabras, aun cuando los componentes de un sistema distribuido fallen, un DDMBS confiable debe seguir ejecutando las solicitudes de usuario sin violar la consistencia de la base de datos.

DOCENTE: M.A. JOS MANUEL AGUILAR CRUZ ASIGNATURA: BASE DE DATOS DISTRIBUIDAS

12

También podría gustarte