Table Of ContentESTUDO DE ALGORITMOS E TÉCNICAS DE
REPLICAÇÃO DE BANCO DE DADOS EM SOFTWARE
LIVRE
Daniel Afonso Heisler
Lajeado, junho de 2008
CENTRO UNIVERSITÁRIO UNIVATES
CURSO DE ENGENHARIA DA COMPUTAÇÃO
)
u
d
b
/
r
b
.
s
e
t
a
v
i
n
u
.
w
w
w
/
/
:
p
t
t
h
(
S
E
T
A ESTUDO DE ALGORITMOS E TÉCNICAS DE
V
I
N REPLICAÇÃO DE BANCO DE DADOS EM SOFTWARE
U
a LIVRE
d
l
a
t
i
g
i
D
Daniel Afonso Heisler
a
c
e
t
o
i
l
b
i Trabalho de Conclusão de Curso – Etapa II,
B
apresentado ao Curso de Engenharia da
–
Computação, do Centro Universitário
U
UNIVATES, para a obtenção do título de
D
Engenheiro de Computação.
B
Orientador: Maglan Cristiano Diemer
Lajeado, julho de 2008
)
u
d
b
/
r
b
.
s
e
t
a
v
i
n
u
.
w
w
w
/
/
:
p
t
t
h
(
S
E
T
A
V
I
N
U
a
d
l
a
t
i
g
i
D
a
c
e
t
o
i
l
b
i
B
–
U
D
B Dedico este trabalho aos meus pais
que me deram a educação
para que eu conseguisse fazer
minhas escolhas com sabedoria.
)
u
d
b
/
r
b
.
s
e AGRADECIMENTOS
t
a
v
i
n
u
.
w
w
w
/
/
: Agradeço a Deus pela minha vida e toda a saúde para chegar até aqui;
p
t
t agradeço a meus pais, à minha namorada, aos meu irmãos por todo o apoio e
h
(
S amor necessário para chegar até aqui; agradeço a meus amigos e colegas de
E
T aula pela ajuda e compreensão necessária; agradeço aos mestres por todos seus
A
V ensinamentos e companheirismo; agradeço ao meu orientador por todo o apoio e
I
N incentivo para conseguir elaborar este trabalho.
U
a
d
l
a
t
i
g
i
D
a
c
e
t
o
i
l
b
i
B
–
U
D
B
)
u
d
b
/
r
b
.
s
e
t
a
v
i
n
u
.
w
w
w
/
/
:
p
t
t
h
(
S
E
T
A
V
I
N
U
a
d
l
a
t
i
g
i
D
a
c
e
t
o
i
l
b
i
B
–
U
D
B Quem quer fazer alguma coisa
encontra um meio.
Quem não quer fazer nada
encontra uma desculpa.
Roberto Shinyashiki
)
u
d
b
/
r
b
.
s
e RESUMO
t
a
v
i
n
u
.
w
w
w
/
/
: A tecnologia de sistemas de bancos de dados distribuídos é a união de
p
t duas abordagens para processamento de dados: as tecnologias de sistemas de
t
h
bancos de dados e de redes de computadores. Existem diversas técnicas para
(
S que seja possível a distribuição de bancos de dados, uma delas é a replicação.
E
Este trabalho visa estudar os diferentes algoritmos e as técnicas de replicação
T
para banco de dados em software livre.
A
V
I
N PALAVRASCHAVE: Banco de dados distribuídos. Replicação.
U
a
d
l
a
t
i
g
i
D
a
c
e
t
o
i
l
b
i
B
–
U
D
B
)
u
d
b
/
r
b
.
s
e ABSTRACT
t
a
v
i
n
u
.
w
w
w
/
/
: The tecnology of distributed database systems is a union of two approaches
p
t to processing data: the tecnology of databases systems and computer networks.
t
h
There are several techniques in order to the database distribution, one of them is a
(
S replication. This paper aims to study the various algorithms and techniques of
E database replication in free softwares.
T
A
V
KEYWORDS: Distributed database. Replication.
I
N
U
a
d
l
a
t
i
g
i
D
a
c
e
t
o
i
l
b
i
B
–
U
D
B
)
u
d
b
/
r
b
.
s
e LISTA DE FIGURAS
t
a
v
i
n
u
.
w
w
w
/
/
: FIGURA 1 Rede de computadores.......................................................................35
p
t
t
h
( FIGURA 2 Modelo relacional................................................................................42
S
E
T FIGURA 3 Arquitetura cliente/servidor de referência...........................................47
A
V
I FIGURA 4 Arquitetura de banco de dados distribuído de referência...................48
N
U
FIGURA 5 Arquitetura de SVBD com um ECG....................................................49
a
d
l
a FIGURA 6 Exemplo do modelo de replicação singlemaster...............................56
t
i
g
i
D FIGURA 7 Exemplo do modelo de replicação multimaster.................................57
a
c
e FIGURA 8 Exemplo de replicação utilizando a ferramenta DBLink com Triggers
t
o
i .................................................................................................................................66
l
b
i
B
FIGURA 9 Exemplo de servidores de banco de dados utilizando a ferramenta
–
U PgCluster para replicação.......................................................................................69
D
B
FIGURA 10 Exemplo de servidores com replicação de de banco de dados
cascateada utilizando a ferramenta SlonyI............................................................70
FIGURA 11 Exemplo de disposição dos computadores na rede do laboratório..74
8
FIGURA 12 Definição da estrutura do cenário 1..................................................76
FIGURA 13 Definição da estrutura do cenário 2..................................................77
)
u
d
b
/
r
b
.
s
e
t
a
v
i
n
u
.
w
w
w
/
/
:
p
t
t
h
(
S
E
T
A
V
I
N
U
a
d
l
a
t
i
g
i
D
a
c
e
t
o
i
l
b
i
B
–
U
D
B
)
u
d
b
/
r
b
.
s
e LISTA DE GRÁFICOS
t
a
v
i
n
u
.
w
w
w
/
/
: GRÁFICO 1 Dados coletados das ferramentas replicadoras, com 1 servidor
p
t
t master replicando para 2 servidores slaves as alterações da base de dados,
h
(
S geradas por 1 cliente, durante aproximadamente 10 minutos...............................85
E
T
A GRÁFICO 2 Dados coletados das ferramentas replicadoras, com 1 servidor
V
I master replicando para 2 servidores slaves, as alterações da base de dados
N
U geradas por 5 clientes, durante aproximadamente 10 minutos..............................87
a
d
GRÁFICO 3 Dados coletados das ferramentas replicadoras, com 1 servidor
l
a
t master replicando para 2 servidores slaves, as alterações da base de dados
i
g
i
D geradas por 10 clientes, durante aproximadamente 10 minutos............................88
a
c
e GRÁFICO 4 Dados coletados das ferramentas replicadoras, com 1 servidor
t
o
i master replicando para 2 servidores slaves, as alterações da base de dados
l
b
i geradas por 20 clientes, durante aproximadamente 10 minutos............................90
B
–
U GRÁFICO 5 Dados coletados na replicação entre os três servidores, durante 10
D
minutos, onde suas bases de dados foram acessadas por apenas 1 cliente........94
B
GRÁFICO 6 Dados coletados na replicação entre os três servidores, durante 10
minutos, onde suas bases de dados foram acessadas por apenas 5 clientes......94
GRÁFICO 7 Dados coletados na replicação entre os três servidores, durante 10
Description:The tecnology of distributed database systems is a union of two approaches to processing data: em caso de ocorrerem falhas (Tanenbaum, 2002).