/[rserv]/doc/eRserver.ChangeLog
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Contents of /doc/eRserver.ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (show annotations)
Tue Aug 5 09:52:38 2003 UTC (20 years, 8 months ago) by dpavlin
Branch: MAIN
CVS Tags: before_onlytables, before_multmaster, r_0_3, HEAD
rserv 0.2 changes by Nélio Alves Pereira Filho

1
2 NĆ©lio Alves Pereira Filho
3 nelio@ime.usp.br
4
5 +-------------------------------------------------------------------------+
6 | AlteraƧƵes na distribuiĆ§Ć£o padrĆ£o do RServ (PostgreSQL-Contrib) |
7 +-------------------------------------------------------------------------+
8
9 Data: Mon Apr 29 15:32:03 BRT 2002
10
11
12 No novo pacote, os seguintes arquivos estĆ£o inclusos:
13
14 eRserver/bin/ApplySnapshot
15 eRserver/bin/CleanLog
16 eRserver/bin/GetSyncID
17 eRserver/bin/InitRservTest
18 eRserver/bin/MasterAddTable
19 eRserver/bin/MasterDelTable
20 eRserver/bin/MasterInit
21 eRserver/bin/MasterRemove
22 eRserver/bin/MasterSync
23 eRserver/bin/PrepareSnapshot
24 eRserver/bin/Replicate
25 eRserver/bin/RservTest
26 eRserver/bin/SlaveAddTable
27 eRserver/bin/SlaveDelTable
28 eRserver/bin/SlaveInit
29 eRserver/bin/SlaveRemove
30 eRserver/share/RServ.pm
31 eRserver/doc/README.rserv
32 eRserver/doc/eRserver.ChangeLog
33 eRserver/lib/rserv.so
34
35
36
37 + Novos arquivos:
38
39 eRserver/bin/MasterDelTable:
40 elimina-se uma tabela do sistema de replicaĆ§Ć£o (master).
41 eRserver/bin/MasterRemove:
42 elimina-se todo o sistema de replicaĆ§Ć£o, preservando as
43 outras informaƧƵes da base de dados (master).
44 eRserver/bin/SlaveDelTable:
45 elimina-se uma tabela do sistema de replicaĆ§Ć£o (slave).
46 eRserver/bin/SlaveRemove:
47 elimina-se todo o sistema de replicaĆ§Ć£o, preservando as
48 outras informaƧƵes da base de dados (slave).
49 eRserver/doc/eRserver.ChangeLog:
50 este arquivo.
51
52
53
54 + AlteraƧƵes em arquivos existentes:
55
56
57 eRserver/bin/ApplySnapshot:
58 - correĆ§Ć£o de uso de variĆ”vel
59 eRserver/bin/MasterInit
60 - opĆ§Ć£o de se passar o caminho para o shared object
61 rserv.so (opcional).
62 - alteraĆ§Ć£o nas queries feitas no BD para se criar as tabelas.
63 Foram criadas FK entre as tabelas _rserv_.*, de modo a manter
64 a integridade das informaƧƵes aƭ contidas.
65 - criaĆ§Ć£o da view _rserv_human_log_ para auxiliar a manutenĆ§Ć£o e
66 visualizaĆ§Ć£o do funcionamento do replicador.
67 - criaĆ§Ć£o da view _rserv_daily_log_ para auxiliar a manutenĆ§Ć£o das
68 transaƧƵes que ocorrem diariamente e seu processo de replicaĆ§Ć£o.
69 eRserver/bin/PrepareSnapshot:
70 - opĆ§Ć£o para se passar o hostname do slave (obrigatĆ³ria).
71 - correĆ§Ć£o para receber um nome de arquivo como parĆ¢metro.
72 eRserver/bin/Replicate:
73 - alteraĆ§Ć£o para determinar o snapshot correto para o slave
74 quando em um ambiente com mĆŗltiplos slaves.
75 eRserver/bin/SlaveInit:
76 - opƧƵes para possibilitar a conexĆ£o com a base servidora.
77 - apĆ³s as configuraƧƵes do slave, adiciona uma entrada no servidor
78 na tabela _rserv_servers_ com seus dados.
79 eRserver/share/RServ.pm:
80 - criaĆ§Ć£o da funĆ§Ć£o GetSlaveId, que retorna o identificador de
81 um dado servidor slave.
82 - alteraĆ§Ć£o de query na funĆ§Ć£o PrepareSnapshot, para evitar a
83 duplicidade de informaƧƵes e replicaƧƵes.
84
85
86
87 +-------------------------------------------------------------------------+
88 | Testes Realizados no modelo de ReplicaĆ§Ć£o e no rServ |
89 +-------------------------------------------------------------------------+
90
91 +++ SimulaĆ§Ć£o de Falhas aleatĆ³rias durante a execuĆ§Ć£o da replicaĆ§Ć£o.
92 De acordo com a lĆ³gica interna deste modelo de replicaĆ§Ć£o, foram
93 simuladas possĆ­veis falhas durante sua execuĆ§Ć£o. As falhas eram
94 semelhantes a um situaĆ§Ć£o de queda de conexĆ£o, que poderia ocorrer em
95 vƔrias partes do processo.
96
97 Resultado: o programa se mostrou muito estƔvel, pois estava preparado
98 para lidar com tais situaƧƵes. Nenhuma informaĆ§Ć£o foi perdida
99 e/ou corrompida.
100
101
102 +++ SimulaĆ§Ć£o de um nĆŗmero muito grande de inserƧƵes concorrentes na base, com
103 o mecanismo de replicaĆ§Ć£o ativado uma vez por minuto, para mais de uma base.
104 Especificamente, foram 10 processos concorrentes, cada um realizando 500
105 inserƧƵes, sendo que todas deveriam ser replicadas para duas bases.
106
107 Resultado: As inserƧƵes sĆ£o efetuadas corretamente. Devido ao fato da
108 replicaĆ§Ć£o ocorrer simultaneamente para mais de uma base,
109 ocorria uma interferĆŖncia de um processo no outro, que resultava
110 em um erro de replicaĆ§Ć£o.
111
112 ResoluĆ§Ć£o: Associar valores Ćŗnicos e independentes para cada processo de
113 replicaĆ§Ć£o.
114
115
116 +++ CƔlculo de limites do rserv, quando utilizado muitas vezes.
117 De acordo com a lĆ³gica interna, certos contadores sĆ£o utilizados e estes
118 poderiam comprometer a replicaĆ§Ć£o, desde que seus limites fossem estourados.
119
120 Resultado: pelos limites dos contadores, um sistema em produĆ§Ć£o mĆ”xima
121 rServ (uma replicaĆ§Ć£o por minuto) pode funcionar por mais de
122 4000 anos.
123
124
125 +++ Teste de replicaĆ§Ć£o de uma tabela do servidor que nĆ£o foi configurada no
126 cliente.
127
128 Resultado: houve a indicaĆ§Ć£o de erro por parte do rserv, pois este se
129 baseava somente na configuraĆ§Ć£o do servidor.
130
131 ResoluĆ§Ć£o: no momento de se preparar a lista de alteraƧƵes a serem
132 replicadas, hĆ” uma consulta tanto na configuraĆ§Ć£o do servidor
133 como na do cliente, a fim de trocar as informaƧƵes somente das
134 tabelas desejadas.
135
136
137 +++ ExecuĆ§Ć£o simultĆ¢nea do processo de replicaĆ§Ć£o para a mesma base.
138
139 Resultado: erro aletĆ³rio.
140
141 ResoluĆ§Ć£o: verificaĆ§Ć£o inicial se algum processo de replicaĆ§Ć£o jĆ” estĆ”
142 sendo executado.
143
144
145
146 +--------------------------------------------------------------------------+
147 | AlteraƧƵes no DataBase existente para contemplar exigĆŖncias do rServ |
148 +--------------------------------------------------------------------------+
149
150 Como descrito na documentaĆ§Ć£o do rserv, Ć© necessĆ”rio existir um campo Ćŗnico
151 por tabela. Tal campo Ć© usado para identificar a linha e questĆ£o e fazer as
152 atualizaƧƵes necessƔrias.
153 Para contemplar tal exigĆŖncia, foi criado um campo chamado 'id', com tipo
154 serial em cada tabela, com a restriĆ§Ć£Ć£o de nĆ£o poder ser null.

  ViewVC Help
Powered by ViewVC 1.1.26