Sunteți pe pagina 1din 18

Transacciones

con datos replicados


Alvarado, Yoselie
Sosa Toranzo, Cecilia
Introducción
• ¿Porque replicar objetos en SS.DD.?

Para lograr servicios con buena


performance, alta disponibilidad y
tolerancia a fallas.
• ¿Cómo deberían ser las
transacciones sobre objetos
replicados desde el punto de
vista del cliente?
El efecto de las transacciones
ejecutadas debería ser el mismo que
si hubieran sido ejecutadas una a la
vez sobre un conjunto simple de
Introducción
Administrado Objetos
res de
réplica

Transacc
ión
Respues
ta
Cliente Front
end
Servicio
s
Cada administrador de réplica
provee control de concurrencia y
recuperación de sus propios objetos.
Aspectos a tratar:
• Arquitecturas para transacciones con datos
replicados.

• Replicación con copias


disponibles.
• Partición de red
• Copias disponibles con
• validación
Consenso con quorum
• Partición virtual
Arquitecturas para
transacciones replicadas

• ¿A quién/es son enviados los requerimientos


del cliente?
• ¿Cuántos administradores son requeridos para
la finalización exitosa de una operación?
• ¿Cuánto deben ser diferidos los
requerimientos de actualización enviados por
algún administrador?
Enfoque Perezoso Vs Enfoque Anticipado
Arquitecturas para
transacciones replicadas
• Protocolo Commit de dos fases
1era fase: el cordinador envía el canCommit? a los trabajadores,
que lo pasan a los otros administradores de réplicas y recojen sus
réplicas antes de responder al cordinador.
2da fase: el cordinador envía el requerimiento doCommit o
doAbort, el cual es pasado a los miembros del grupo del
administrador de réplica.

• Replicación de copia primaria


Todos los requerimientos del cliente son dirigidos a un
administrador de réplica primario simple.

• Read one/Write all.


Todas las operaciones Read son efectuadas por un administrador
de replicas simple y las operaciones Write son efectuadas por
todos ellos.
Replicación de copias
disponibles
• Esta diseñado para permitir que
algunos administradores esten
temporalmente no disponibles.
• Un requerimiento Read sobre un
objeto lógico puede ser ejecutado
por cualquier administrador de
réplica disponible pero un
requerimiento de actualización
(Write) debe ser ejecutado por
todos los administradores de
réplica disponibles en el grupo
Replicación de copias
disponibles
U
getBalance(B
T )
getBalance deposit(A,3)
(A)
deposit(B,3
)
B
M

A A B B

X Y P N
Administradores de Administradores de
réplica réplica
Replicación de copias
disponibles
U
getBalance(B
T )
getBalance deposit(A,3)
(A)
deposit(B,3
)
B
M

A A NO ONE- B B
COPY
X Y N
SERIALIZABI P
Administradores de LITY Administradores de
réplica réplica
Replicación de copias
disponibles
U
getBalance(B
T )
getBalance deposit(A,3)
(A) falla
deposit(B,3
) commi
t B
M

A A B B

X Y P N
Administradores de Administradores de
réplica réplica
Particiones de red
Una partición de red separa un grupo de
administradores de réplica en dos o mas
subgrupos de manera que los miembros
de un subgrupo puedan comunicarse
entre sí pero los miembros de diferentes
subgrupos no puedan comunicarse
entre sí.
Esquemas:
• Copias disponibles con
• validación
Consenso con quorum
• Partición virtual
Copias disponibles con
validación

• Es aplicada en cada partición y cuando una


partición es reparada, un procedimiento de
validación es aplicado y cualquier inconsistencia
es tratada.
• La validación puede realizarse a través del
método optimista o la versión de vectores.
• Los grafos de precedencia son utilizados para
detectar inconsistencias entre particiones.
Métodos de Consenso de
Quorum
• Un quorum es un subgrupo de
administradores de réplicas cuyo
tamaño es el correcto para realizar
operaciones.
• En el esquema de replicación de
consenso de quorum una
operación de actualización sobre
un objeto lógico debe ser finalizada
exitosamente por un subgrupo de
su grupo de administradores de
réplica.
• Se utilizan números de versión o
Métodos de Consenso de
Quorum
• Un número de votos es asignado a
cada copia física en un administrador
de réplica de un archivo lógico
Esquema simple.
• Cada operación Read debe
de primero obtener un quorum de
lectura de R votos antes de poder
replicació proceder a leer de cualquier copia
n de actualizada.
•Cada operación Write debe
Gifford obtener un quorum de escritura de W
votos antes de poder proceder con
una operación de actualización.
•R y W para un grupo de
administradores de réplica son
Método de Consenso de
Quorum
Algoritmo de Partición
virtual
•Una partición virtual es una
abstracción de una partición real y
contiene un conjunto de
administradores de réplica.

•Una transacción puede operar en una


partición virtual si esta contiene los
suficientes administradores de réplicas
para tener quorum de Lectura y quorum
de Escritura para los objetos accedidos.
En este caso, la transacción usa el
algoritmo de copias disponibles.

•Si un administrador de réplica falla y la


Algoritmo de
Partición virtual
Transacción T Partición de
red

Administradores de réplica

X V Y Z

Partición Partición de
virtual red
Administradores de
réplica

X V Y Z
¡¡Gracias por su
atención !!

S-ar putea să vă placă și