Construcción
de
escenarios
para
comparar
la
replicación activa
optimista
y
pesimista
Edíson
Álvarez
Ingeniero en Sistemas, Docente de la Facultad de
Ingeniería en Sistemas, Electrónica e Industrial
RESUMEN
En la actualidad
debido
al gran volumen de información
que
se procesa y no en un
solo lugar, es necesario determinar los escenarios más
adecuados
para aplicar ycon
figurar la distribución
de
la información en las organizaciones. LosAdministradores
de
Base
de
Datos distribuyen la información
entre
varios sitios,
pero
no
configuran
los escenarios
acorde
a las necesidades reales
de
rendimiento, seguridad ydisponi
bilidad
de
la
información.
El
presente
trabajo
pretende
mostrar
los
elementos
que
se deberían considerar para
configurar escenarios en los cuales se aproveche las ventajas de distribuir la infor
mación, no solo considerando
aspectos
de seguridad sino
también
factores
que
me
joren sustancialmente el rendimiento
de
los
sistemas
de
base
de
datos.
Se
estudia
dos
técnicas
de
replicación, la Replicación Activa,
con
sus
variantes
pesi
mista
y
optimista,
y la Replicación Pasiva. Se
establece
el
marco
de
trabajo
de cual
quier
técnica de replicación en 5 fases: Solicitud del cliente, Coordinación
de
Servidores, Ejecución, Coordinación de
Asentimientos
y
Respuesta
al cliente. Se ex
plora
este
marco en el
contexto
de
la Replicación Activa y Pasiva.
Finalmente
se
compara
la replicación Activa Pesimista y la Replicación Activa Opti
mista
(que
en SQLServer
corresponden
a la replicación Transaccional con actuali
zación inmediata yactualización en cola, respectivamente). Para lograr
este
objetivo
se construyó un Front - End
que
actúa
como
un cliente
que
realiza solicitudes de eje
cución de transacciones
tanto
de consulta
como
de actualización, se configuró
ade
más los escenarios
de
replicación yrealizaron
experimentos
variando una serie de
parámetros,
con lo
que
se
obtuvo
datos
estadísticos que posibilitaron realizar una
comparación
entre
las técnicas
de
replicación
antes
mencionadas y
determinar
ven-
\tajas
ydesventajas.
30
UNIVERSIDAD TÉCNICA DE AMBATO / INVESTIGACIÓN YDESARROLLO
ABSTRACT
At
present
due to
the
large volume of ¡nformation being
processed
and
not
in
one
piace, it is necessary to
determine
the
most
appropriate
settíngs
to implement
and
configure
the
distribution of informatíon ínorganízations. The Database Managers
distríbute
the
informatíon among múltiple sites, but do
not
configure
the
settíngs
according to
the
real needs of performance, security and availabilityof information.
This
paper
aims
to
show
the
ítems
that
should
be
consídered
to
set
up
scenarios
which take advantage of distríbuting ¡nformation,
not
oniy considering safety as-
pects
but
aiso factors
that
substantially ímprove
the
performance
of
database
sys-
tems.
Transactíonal replicatíon ís selected for a more detailed study, selectíon justifíed
from
the
point of view
that
this
type
of replicatíon
ensures
transactíonal consís-
tency, acondítion required in
most
commercíal applicatíons, relying on a protocol
that does
not
belong to replicatíon itself, and
that
is
the
Commít Protocol in
two
phases,
however,
aiso
addresses
two
other
ways
to
replícate informatíon.
Finally,
we
compare
the
replicatíon Turns Pessímistic
and
Optimistic Active Replica
tíon (whích
correspond
to
SQL
Server
transactíonal
replicatíon
with
immediate
up-
dating and queued updatíng, respectively). To achíeve this goal we buílt a Front -
End
acts
as a clíent
that
makes
requests
of
executíon
of
both
query
transactíons
and
update,
it also
set
up replicatíon scenarios and
conducted
aseríes of experi-
ments varyíng parameters, thereby statístícal data obtaíned enabled acompahson
between
replicatíon techníques
mentioned
above
and
ídentífy
advantages
and dís-
advantages.
INTRODUCCION
Un
área
en la cual las soluciones
están
integrando
tecnología con nuevas arquitec
turas
oformas
de
hacer
las cosas es, sin lugar adudas, el
área
de los sistemas distri
buidos de información. Ellos
se
refieren
al
manejo
de
datos
almacenados
en
facilidades de
cómputo
localizadas en muchos sitios
conectados
a
través
de una red
de comunicaciones. Un caso específico de
estos
sistemas distribuidos es lo
que
se
conoce
como
bases de
datos
distribuidas,
donde
la posibilidad de distribución se la
realiza a
través
de
la replicadón y en
otros
casos a
través
de la fragmentación de la
información, desde luego sin olvidar la posibilidad de una distribución combinada.
Una
base
de
datos
distribuida (BDD)es un conjunto de múltiples
bases
de
datos
gicamente relacionadas, las cuales se encuentran distribuidas entre diferentes sitios
interconectados
por
una
red
de
comunicaciones.La
réplica
permite
distribuir
de
forma
automática
copias
de los
datos
de un
servidor
a
uno
ovarios
servidores
de
destino en uno o varios emplazamientos remotos [SoukupgS].
Una base de datos replicada consiste de un grupo de sitios n ={Ni,N2,N3,...,
Nn}
los
cuales
se
comunican
por
el
intercambio
de
mensajes.
Los sitios
son
detenidos
al fallar, y las fallas en los sitios
pueden
ser
detectadas.
Se considera un modelo
de
recuperación de fallas en el cual los sitios
pueden
recuperarse
y
reconectarse
al sis
tema
después
de sincronizar su
estado
con
alguna
de
las réplicas
que
estén
co
rriendo. La
base
de
datos
es
replicada
totalmente,
es decir,
cada
sitio
contiene
una
copia
de
la
base
de
datos.
Los
clientes
interactúan
con
la
base
de
datos
a
través
de
las
transacciones.
Las
trans
acciones
son
ejecutadas
automáticamente
y
éstas
pueden
ser
confirmadas
o
abor
tadas
en
todos
los sitios. Las
transacciones
son
parcialmente
ordenadas
en
conjunto
de
operaciones
de
lectura (r) o
de
escritura (w). Si una transacción
posee
operacio-
31
UNIVERSIDAD
TÉCNICA DE
AM6AT0
/INVESTIGACIÓN Y
DESARROLLO
nes de escritura, un protocolo de confirmación en dos fases (2PC
por
sus siglas en
inglés, TwoPhaseCommit) es ejecutado alfinal de la transacción
entre
todos los si
tios. En las
bases
de
datos
replicadas, el criterio
correcto
es
una
copia serializable,
es decir, cada copia debería
aparecer
como
una simple copia lógica y la ejecución
de
la
actual
transacción
será
equivalente
a una ejecución
en
serie
sobre
todas
las
copias físicas.
Cuando
cada
réplica
está
corriendo
en
máquinas
diferentes,
los
sistemas
replicados
de
base
de
datos
tiene,
en
teoría,
dos
ventajas
sobre
los
sistemas
centralizados:
Alta disponibilidad.- una réplica colapsa^ (crash),
sea
por
una falla de
hardware
o
software,
el
resto
de réplicas
pueden
continuar
operando.
Mejor rendimiento.- la carga de!
procesamiento
transaccional
puede
ser
distri
buida entre todas las réplicas (máquinas) en el sistema. Esto contribuye a:
- Mayor salida (throughput): las réplicas pueden independientemente ejecutar
consultos y las
operaciones
de
lectura de las
transacciones
de actualización,
porque
ellas no
alteran
el
estado
de la
base
de
datos,
es decir, el
procesa
miento
de
un
mayor
número
de
transacciones
por
unidad de
tiempo.
-
Menores
tiempos
de
respuesta:
ya
que
las
consultas
pueden
ser
ejecutados
sobre
una réplica yenviar la
respuesta
al cliente, sin comunicaciones adicio
nales
entre
las réplicas.
Por
otra
parte, las ventajas
antes
mencionadas,
generan
los siguientes costos:
Procesamiento
adicional y
overheaden
las comunicaciones: las réplicas
requieren
comunicarse para
asegurase
que
los cambios han
tomado
efecto
en
todas
las co
plas de base de datos. Esto incrementa la carga en las máquinas(más precisa
mente
en el
subsistema
de
comunicaciones) y las comunicaciones
de
red, las
cuales
pueden
degradar
todo
el
rendimiento.
Sistemas
altamente
complejos: las réplicas
corren
asincrónicamente^
sobre
dife
rentes
máquinas
y
asincrónicamente
reciben
las solicitudes
de
los
clientes
para
modificar las
bases
de
datos.
Realmente
sincronizar
las copias
de
las
bases
de
datos
através
de
las réplicas requiere de algoritmos avanzados de comunicación
y
procesamiento
de
transacciones.
ETODOLOGIA
Para realizar el estudio comparativo
entre
la Replicación Activa Optimista y la Pesi
mista
se
requiere:
a) Definir escenarios
de
replicación activa optimista ypesimista
b) Construir un
prototipo
de replicación
a.
Establecer
los
parámetros
de
comparación
b.
Número
de
operaciones
por
transacciones
c.
Número
de
operaciones
de
lectura
y
número
de
operaciones
de escri
tura
d. Condiciones para anular una transacción (Rollback)
e. Porcentaje
de
transacciones a
ser
confirmadas (Commit)
f. Tamaño
de
la
base
de
datos
(tipos de
datos
a
emplear
y
número
de
re
gistros aprocesar)
c) Construcción de un Front - End para la
obtención
de
los valores
de
medi
ción de los
parámetros.
d) Elaboración
de
las gráficas
en
base
a los
resultados
obtenidos
e)
Interpretación
de
resultados.
a) Escenario
de
Replicación
El
escenario construido, es el que se muestra en lafigura siguiente, cada estación tam-
^
Es
decir,
un
proceso
deia
de
funcionar
definitivamente,
según
la
definición
encontrada
en
[Vanderwali200o]
^
Reaimente
ias
répiicas
son
sincrónicas
y
asincrónicas
32
UNIVERSIDAD
TÉCNICA
DE
AMBATO
/INVESTIGACIÓN Y
DESARROLLO
bién incluye a SQLServer 2005,
cada
servidor
es
a su vez Publicador yDistribuidor.
WINDOWS
XP
WINDOWS
VISTA
SQL
SERVE
2005
WINDOWS
SERVER
2003
SQL
SERVER
2005
WINDOWS
SERVER
2003
WINDOWS
VISTA
b) Prototipo de Replkacíón
Partiendo del
hecho
que
la Replicación Activa no permite modificaciones indepen
dientes en las réplicas, es decir,
mantiene
la consistencia de los
datos
replicados en
todas
ellas, se
puede
considerar
que
la Replicación Activa Pesimista
corresponde
al modelo de Consistencia Estricta - Replicación
de
actualización inmediata de
subs
cripciones, y la Replicación Activa Optimista al modelo
de
Consistencia No Estricta
donde
se permite
que
exista un intervalo de
tiempo
no nulo
entre
los cambios
que
se producen en los datos originales y su propagación a las demás copias, es decir,
habilita a los
suscriptores
para
actualizaciones
en
cola, las
modificaciones
de los
datos pueden ser hechas en el Suscriptor, almacenarlas en una cola y propagarlas
al Publicador. Ambos modelos corresponden a la replicación transaccional
donde
se
mantiene
la
consistencia
e
integridad
transaccional.
Parámetros
del
prototipo
Número
de
operaciones
por
transacción:
>=5.
Estosignifica que cada transacción podría contener3operaciones de datos, mode
ladas
de
la siguiente manera: 1
operaciones
de lectura, 1operaciones
de
escritura
y
1de actualización o una combinación de ellas. Una operación es Iniciar transacción
yotra es una operación de confirmación (Commit) o una operación de deshacer
(Rollback).
Porcentaje
de
transacciones
confirmadas: 100.
Número de transacciones solicitadas
por
unidad de tiempo: @@Lock_timeout
Por
otra
parte,
el
número
de
transacciones
solicitadas
está
relacionado con el
"throughput" (salida) del sistema: el número de transacciones que son confirmadas
por
unidad
de
tiempo. Sea Crel conjunto
de
transacciones confirmadas
en
una co
rrida r,
entonces
definimos:
throughput(r) = #Cr
#Ces lacardinalidad del conjuntoC,
por
ejemplo, el
número
de
elementos
que
C
con
tiene.
Tamaño
de
la
base
de
datos:
50000
registros.
Tamaño
de
los
objetos
de
la
base
datos:
1- 30
bytes.
Técnicas de replicación: Replicación Activa Pesimista yReplicación Activa Optimista.
Número
de
réplicas:
234.
33
WINDOWS
XP
UNIVERSIDAD TÉCNICA DE AMBATO / INVESTIGACIÓN YDESARROLLO
Interactividad
de
las
transacciones:
Interactivas,
es
decir,
cada
cliente
solicita
trans
acciones
una
a
continuación
de
otra.
Porcentaje
de
consultas:
o
399.
Número
de
clientes:
1 a
8.
Escenarios: sea el escenario s =(pesim/sta;3; interactivas;50%;8), significas es un es
cenario
en
el cual la
técnica
de replicación pesimista es
usada,
en
un
sistema
con
3
réplicas. Las transacciones son interactivas y el
50%
de ellas
son
consultas y el
mero
total
de
clientes
en
el
sistema
son
8.
Experimento: sea un experimento edefinido como e = ({pesimista; opti-
m/sta};{2;3;4};
/nteract/vas;{o%á99%};5).
Indicadores
de
Rendimiento
Tiempo de
respuesta
medio
por
transacciones confirmadas y el throughput.
proc(ú) Lacantidad de tiempo que demora odesde el momento en que o es solici
tada
por
el cliente, hasta el momento en que el cliente recibió el resultado de o.
net(o) Lacantidad de tiempo que demora o en el componente de Comunicación
(red)
desde
el
momento
en
que
o es solicitada
por
el cliente, hasta el
momento
en
que
el cliente recibió el resultado de o.
tota/(o) Lacantidad
de
tiempo
entre
el
momento
que
o
es
solicitada
por
el cliente,
hasta
el
momento
en
que
el
cliente
recibió
el
resultado
de
o.
Este valor es igual a: proc(o) + net(ü).
Tiempo
de
respuesta
medio para las transacciones confirmadas
total(T)
=^
total(o)
Sea
CR
el
conjunto
que
contiene
todas
las
transacciones
confirmadas
en un
conjunto
de
corridas R.
El
indicador de rendimiento tiempo de
respuesta
medio para las
trans
acciones
confirmadas
se
define
como:
/jt
ntotal(T)
medio(R)
=
#Cr
Sea #transacciones{r) el
número
de
transacciones en una corrida r,
entonces:
throughput(r) =#transacdones{r) / media{r)
Sea Rel conjunto
de
corridas. media(R/c)
denota
el
tiempo
de
respuesta
medio para
las transacciones
de
consultas confirmadas en R.media(R/a) es el
tiempo
medio
de
respuesta
para
las
transacciones
de
actualización
confirmadas
en
R.
med/a(R) =(med¡a(R/c)+media(R/a)) / n
c) Construcción del Front - End
Para
este
estudio
se
programó
una aplicación básica
que
permite
construir
el
esco
ger
el
escenario
aaplicar en
base
a: Tipo
de
Réplica, Número
de
réplicas. Tipo de
Transacción
(en
nuestro
caso no se consideran transacciones
de
solo lectura -read
only), el Porcentaje de Consultas (Queries), Número de clientes participantes, el
mero
de
peticiones y el
número
de corridas de
prueba.
Lasiguiente figura
muestra
la
interfaz
de
la aplicación
desarrollada.
34
UNIVERSIDADTÉCNICA DE AMBATO/ INVESTIGACIÓNY DESARROLLO
^
Definícán
de
expeímento
y
escenarios
-la'xl
TipoTronsacaón
Elaboración
de
gráficas
según
los
resultados
obtenidos.
(Comparativa)
Tipo Réplica
(•
[Pesimiste^
C Optimista
%
de
Queries:
|
50
Itecdóíado:
I
pesimista,2,interactiva,50.1
Número
de
peticiones;
[50
Número
de
corridas:
|i
¿enerar
borrar
a'parirr.ofit,-
¿allr
Distribución
de
frecuencias
de
tiempos
de
respuesta
para
la replicación pesimista
Distribución
de
frecuencias
de
tiempos
de
respuesta
para
la replicación
optimista
Tiempos
de
respuesta
medio
por
técnica
variando
el
porcentaje
de
consultas
350
300
0
p
250
0
200
u
150
c
b
100
50
0
350
300
»
o
r
250
0
200
u
150
c
«
100
«
50
0
N-Réplicas - -
r
Mr,o
rTros
(•
Dos
C
Cuatro
#
de
clientes
Interactiva
inidalizar
En
ejecución:
q
Fallos:
Hora
Inicio:
Hora
fin:
01:06:21
a.m.
|01
06:21
a
m.
Tiempo de respuesta(8.
Transacciones
totales
5
10 15
20
25
30
35
Tiempo de respuesta(s)
Transacciones
totales
35
5
10 15
20 25
Tiempo de
respuestas)
30
35
20,00
g
18,00
116,00
«
3
a
M
s
o
o
«
B
o
a
E
o
F
14,00
12,00
10,00
8,00
6,00
4,00
2,00
0,00
20
18
16
14
12
10
UNIVERSIDADTÉCNICA DE AMBATO/ INVESTIGACIÓNYDESARROLLO
'pesimista
-optimista
Throughput
de
la replícactón
pesimista
variando
el
número
de
réplicas
10
20
30
40
50
60 70
80
90
100
%
de
consultas
%
de
consultas
-2
réplicas
-3
réplicas
Throughput
de la
replícación
optimista
variando
el
número
de
réplicas
Abortos
variando el
porcentaje
de
consulta
'1
cliente
•2
clientes
10
20
30
40
SO
60
70
%
de
consultas
80
90
100
Evolución
de
la
demora
en
el
procesamiento
20
Ü 18
"o
16
14
12
c
o
E
a
2
10
o
u
o
k
a
C9
k
O
E
o
"O
20
40
60
80
Transacciones
solicitadas
36
*2
clientes
'3
clientes
'4
clientes
UNIVERSIDADTÉCNICADEAMBATO/INVESTIGACIÓN
Y
DESARROLLO
Throughput
en
función
del
número
de
clientes
Tiempos
de
respuesta
medio
por
técnica
variando
el
porcentaje
de
consultas
1
1600
0
1400
^ 1200
c
1000
¿•«800
¥
600
•c
400
O)
3
200
1 o
1 2 3
Número
de
clientes
%
de
consultas
CONCLUSIONES
Larepiícación
de
instantáneas
es útil para suscriptores
que
solo requieren
datos
de
sólo
lectura.
Pero
no
es
adecuada
cuando
el
volumen
de
datos
es
enorme,
los
suscriptores
requieren
continuamente
datos
actualizados
y
necesitan
reali
zar
sus
propias
actualizaciones,
es
decir, el
rendimiento
decrece
a
medida
que
se
incrementa
el
volumen
de
peticiones.
El
número
de clientes en el escenario
propuesto,
determina
el
grado
de concu
rrencia,
considerando
que
las
transacciones
son
interactivas
y
se
producen
so
licitudes de
ejecución
cada
cierto
intervalo
de
tiempo,
lo
que
afecta
al
throughput
del
sistema.
Mientras
más
clientes
participen
mayor
será
el
tiempo
de
demora.
Se aplica el criterio de señalización.
El
throughput
del sistema disminuye al
aumentar
el
número
de replicas partici
pantes, sin
embargo
se ve mejorada al utilizar la técnica de replicación optimista.
Se evita la propagación
de
la replicación a
través
de
una sola copia primaria.
Alconfigurar
adecuadamente
los
catálogos
el rendimiento mejora significativa
mente.
BIBLIOGRAFIA
[VandewaÍl2000]R.Vandewail, Database Replication Prototype, Department of
mathematics
Computer
Science University of Groningen, Groningen ,Nether-
lands
[Jimenez200i]R. Jimenez-Peris, M. Patino-Martinez, G.Alonso, B.Kemme, How
to
Select aReplication Protocol According
to
Scalability, Availability
and
Com-
munication
Overhead,
2001
[Patiño2002]M- Patiño-Martínez, R.JIménez-Peris, B.Kemme, G.Alonso: Scalable
37
'0%
consultas
-
50%
consultas
99%
consultas
-pesimista
'optimista