Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TRANSACCIONES DISTRIBUIDAS
Objetivo: El alumno explicar la importancia de
controlar y administrar transacciones
distribuidas
ADMINISTRADOR DE TRANSACCIONES
El modulo Administrador de transacciones
distribuidas se encarga de asegurar la atomicidad
de las transacciones globales y de cada
componente de la subtransaccin.
El administrador de transacciones coordina las
transacciones generadas por los programas de
aplicacin, a travs de una comunicacin con el
scheduler.
El Scheduler es el modulo responsable de
implementar una estrategia particular para el
control de concurrencia.
SCHEDULER
El scheduler es una secuencia de las operaciones
para un conjunto de transacciones concurrentes
que preserva el orden de las operaciones en cada
una de las transacciones individuales.
El
objetivo
del
scheduler
(horario
o
calendarizador) es maximizar la concurrencia sin
permitir
la
ejecucin
concurrente
de
transacciones que interfieran unas con otras y
que por tanto comprometan la consistencia de la
base de datos.
Atomicidad
Ambiente
Ambiente
Distribuido:
Las
subtransacciones que se ejecutan en una
transaccin global deben ejecutarse como
un todo.
Control de Concurrencia
El
El
Control de Concurrencia
El control de concurrencia y la recuperacin en
un entorno distribuido, debe presentar soluciones
a problemas que no surgen en ambientes
centralizados. Por ejemplo:
Manejar mltiples copias de los elementos de
datos:
Fallos de sitios individuales:
Fallo de enlaces de comunicacin:
Confirmacin distribuida:
Bloqueo mortal (deadlock) distribuido:
Control de Concurrencia
Control de Concurrencia
Control de Concurrencia
Control de Concurrencia
Control de Concurrencia
Deadlocks
Interbloqueo distribuido: se presenta cuando
se desarrolla una espera circular entre dos
transacciones y cada una de estas solicita una
actualizacin sobre la misma tabla, no permite a
otros usuarios el recurso hasta que termine el
proceso.
Comnmente se maneja este problema de
concurrencia
escogiendo
una
vctima
y
cancelndola para que el otro proceso termine
satisfactoriamente. La vctima ser aquel proceso
con menor tiempo de CPU ejecutado al momento
del conflicto.
T: Transaccin, S: Sitio
Tiempo
S1
S2
t1
read_lock(T1x1)
t2
write_lock(T1,y1) write_lock(T2,z2)
t3
write_lock(T3,x1) write_lock(T1,y2)
write_lock(T2,y2)
S3
read_lock(T3,z3)
write_lock(T2,z3)
T3
T1
T2
T1
T2
T3
T2
T3
Recopil: Dra. Mara del Pilar Angeles
DETECCIN DE DEADLOCKS
CENTRALIZADO
DETECCIN DE DEADLOCKS
CENTRALIZADO
DD43
DD12
S1
S2
S3
DD567
S4
S5
S6
S7
MECANISMOS DE MARCAS DE
TIEMPO (TIMESTAMP)
MARCAS DE TIEMPO
Las marcas de tiempo se usan cuando no se imponen
candados pero se sigue asegurando secuencialidad.
MARCAS DE TIEMPO
1.
TCNICAS OPTIMISTAS
TCNICAS OPTIMISTAS
MODELOS DE TRANSACCIONES:
Transaccin plana
TP CON SAVEPOINTS
Esta
sentencia
establece
el
identificador
que
posteriormente puede ser utilizado para restablecer el
estado hasta dicho identificador mediante otra sentencia
para indicar que toda la transaccin sea abortada, slo se
indica el punto hasta donde deshacer los efectos
realizados.
EJEMPLO
update titleauthor
set royaltyper = 35 from titleauthor, titles
TP CON SAVEPOINTS
MODELOS DE TRANSACCIONES:
Transaccin anidada cerrada: Atomicidad
forzada a nivel ms alto.
Transacciones anidadas abiertas: Permite
que resultados parciales de subtransacciones
puedan ser vistos fuera de la transaccin.
Un modelo de transaccin multi-nivel es
aquel donde el rbol de subtransacciones es
balanceado, es decir una operacin de larga
duracin
se
abstrae
en
suboperaciones
implementadas por un conjunto de operaciones
de bajo nivel).
GO
CREATE PROCEDURE Formular_pedido
AS
.
COMMIT TRAN Tran_formular_pedido
GO
TRANSACCIN MULTINIVEL
La transaccin multinivel es una variante de las
transacciones anidadas donde los nodos en un
rbol de transaccin corresponde a las
ejecuciones de operaciones a niveles particulares
de abstraccin en el sistema de capas.
Es decir, todos los arboles de transaccin tiene la
misma altura, la cual es igual al numero de
niveles en la arquitectura del sistema y todos los
nodos hoja en una rbol de transaccin estn al
mismo nivel.
TRANSACCIONES MULTINIVEL
EJEMPLO DE UN MODELO DE
TRANSACCIN MULTI-NIVEL:
Calendarizador serializable sin conflicto
Dado
que
la
adicin,
substraccin
y
multiplicacin son conmutativas, entonces se
puede ejecutar las transacciones en cualquier
orden y el resultado correcto ser posible de
cualquier manera.