Documentos de Académico
Documentos de Profesional
Documentos de Cultura
El Sistema de Replicacion de Base de Datos de Postgresql 9.0
El Sistema de Replicacion de Base de Datos de Postgresql 9.0
de replicacin de
PostgreSQL 9.0
Ernesto Quiones A. - CT
E! So"t Consultor#a $ Soporte E.%.&.L.
'r. El(ira )arc#a $ )arc#a *+,* -r.. Los Cipreces- Lima / 0 Per1
Tel2"onos3 45/-/6 5+,57,, 0 997*,,9*+ 0 997008957
E-mail 3 in"ormes9e!so"t.net :ttp3;;<<<.e!so"t.net
=Ad(ertencia>
Esta c:arla es para e?plicar como "unciona por dentro el
sistema de replicacin de PostgreSQL 9.0 no para
ensear a instalar un sistema de replicacin.
@Por!ueA Lo otro lo pueden aprender le$endo el manual.
E! So"t Consultor#a $ Soporte E.%.&.L.
'r. El(ira )arc#a $ )arc#a *+,* -r.. Los Cipreces- Lima / 0 Per1
Tel2"onos3 45/-/6 5+,57,, 0 997*,,9*+ 0 997008957
E-mail 3 in"ormes9e!so"t.net :ttp3;;<<<.e!so"t.net
@Que es un sistema de replicacin de .ase de datosA
En simple3 es
mantener una *da
.ase de datos
alterna con la data
id2ntica a la
principal.
E! So"t Consultor#a $ Soporte E.%.&.L.
'r. El(ira )arc#a $ )arc#a *+,* -r.. Los Cipreces- Lima / 0 Per1
Tel2"onos3 45/-/6 5+,57,, 0 997*,,9*+ 0 997008957
E-mail 3 in"ormes9e!so"t.net :ttp3;;<<<.e!so"t.net
@Por!ue de.er#a tener un sistema de replicacin para mi
d.msA
-sa LAL como m2todo de cac:eK esta t2cnica permite asegurar !ue solo
las operaciones .ien realiHadas actualicen la data 4atomicidad $
dura.ilidad6.
E! So"t Consultor#a $ Soporte E.%.&.L.
'r. El(ira )arc#a $ )arc#a *+,* -r.. Los Cipreces- Lima / 0 Per1
Tel2"onos3 45/-/6 5+,57,, 0 997*,,9*+ 0 997008957
E-mail 3 in"ormes9e!so"t.net :ttp3;;<<<.e!so"t.net
@Qu2 no :a$A
Asegurar !ue ante una "alla el ser(idor principal nunca (a a perder la data
SSH
Server
NFS
Client
SSHFS
client
Conexin
LAN
NFS:
!"s complicado de con#igurar
!"s r"pido por$ue #unciona a nivel
de protocolo m"s %a&o ' coordinado
con el (ernel)
*!enos seguro en la transmisin+
SS,FS:
!"s simple de con#igurar
!"s lento $ue NFS- . a /- por$ue
#unciona en capa m"s alta de tcp/ip
' %"sicamente es un SC0)
*!"s seguro en la transmisin+
El segundo paso3 reconstruir la imagen inicial de la d. en
el ser(idor de destino.
E! So"t Consultor#a $ Soporte E.%.&.L.
'r. El(ira )arc#a $ )arc#a *+,* -r.. Los Cipreces- Lima / 0 Per1
Tel2"onos3 45/-/6 5+,57,, 0 997*,,9*+ 0 997008957
E-mail 3 in"ormes9e!so"t.net :ttp3;;<<<.e!so"t.net
La ,erramienta m"s popular para
esto es 1s'nc)
1s'nc tra%a&a en %ase a deltas
%inarios para determinar los cam%ios
%it a %it entre / "r%oles de directorio
' los #iles $ue este contiene)
Se saca un c2ec(sum 3md45 de los
contenidos para veri#icar contra el
espe&o $ue es lo $ue 2a cam%iado)
6n los / anteriores pasos mencionados 2asta el momento existen algunas
venta&as- estamos limitados a replicar 7nicamente a un solo servidor- podemos
reali8ar esto en varios ' en cascada- otra es $ue podemos 2acer esto casi en
caliente)
Tercer paso3 con"igurar el ser(idor r2plica solo como
ser(idor de consulta.
Dado !ue las transacciones se maneBarDn en el ser(idor principal
en las r2plicas no podemos mDs !ue procesar consultasK am.os
ser(icios no pueden escri.ir en la Hona del LAL.
Esto es un ser(idor ITSTAJDCR
E! So"t Consultor#a $ Soporte E.%.&.L.
'r. El(ira )arc#a $ )arc#a *+,* -r.. Los Cipreces- Lima / 0 Per1
Tel2"onos3 45/-/6 5+,57,, 0 997*,,9*+ 0 997008957
E-mail 3 in"ormes9e!so"t.net :ttp3;;<<<.e!so"t.net
ITSTAJDCR
Iotstand.$ permite a PostgreSQL correr !uer$s solo de consultaK de
"orma generica el estado Iotstand.$ permite recuperarse :asta un estado
consistente a una d. mientras esta sigue atendiendo cone?iones.
En la replica podemos eBecutar estos tipos de !ueries3
Quer$ access - SELECTK CPR T
Cursor commands - DECLA&EK QETCIK CLSE
Parameters - SILK SETK &ESET
Transaction management commands
CE)%JK EJDK AC&TK STA&T T&AJSACT%J
SASEP%JTK &ELEASEK &LLCACG T SASEP%JT
ETCEPT%J .locNs and ot:er internal su.transactions
LCG TACLEK t:oug: onl$ <:en e?plicitl$ in one o" t:ese modes3
ACCESS SIA&EK &L SIA&E or &L ETCL-S%SE.
Plans and resources - P&EPA&EK ETEC-TEK DEALLCATEK D%SCA&D
Plugins and e?tensions - LAD
E! So"t Consultor#a $ Soporte E.%.&.L.
'r. El(ira )arc#a $ )arc#a *+,* -r.. Los Cipreces- Lima / 0 Per1
Tel2"onos3 45/-/6 5+,57,, 0 997*,,9*+ 0 997008957
E-mail 3 in"ormes9e!so"t.net :ttp3;;<<<.e!so"t.net
ITSTAJDCR
-no podr#a iniciar una transaccin pero el sistema nunca le asignarD un
espacio en el LAL por lo tanto nunca se gra.arD nada
Los principales pro.lemas !ue se pueden presentar son3
Corrar ta.lespace en el ser(idor principal !ue crean con"lictos con !ueries !ue
los usan en la r2plica.
Correr un "ull (acuum mientras el LAL de la r2plica a1n tiene (isi.le la "ila.
El mismo caso del anterior pero un !uer$ tiene acceso a las pDginas a .orrar.
E! So"t Consultor#a $ Soporte E.%.&.L.
'r. El(ira )arc#a $ )arc#a *+,* -r.. Los Cipreces- Lima / 0 Per1
Tel2"onos3 45/-/6 5+,57,, 0 997*,,9*+ 0 997008957
E-mail 3 in"ormes9e!so"t.net :ttp3;;<<<.e!so"t.net
ITSTAJDCR
En la ma$or#a de los casos el pro.lema genera un dela$K este puede ser demasiado
grande de.ido al control de concurrencias por eBemplo3
U ser(idor r2plica lanHa un !uer$ con locN e?clusi(o so.re una ta.la
enorme !ue toma /5P
U llega un drop ta.le del ser(idor primario
U ser(idor r2plica sigue procesando el !uer$
U ser(idor primario sigue tra.aBando normalmente
U ser(idor replica tiene paradas las transacciones replicadas del ser(idor
primario :asta !ue no aca.e el !uer$ en la r2plica
U termina el !uer$ en el ser(idor r2plica $ por "in aplica los otros cam.ios
encolados
U tenemos /5P minutos de retraso F si es !ue no pasa de nue(o
Para ello es desea.le con"igurar el tiempo de espera para procesar el LAL
$ no tener este tipo de pro.lemasK los !ueries !ue so.repasen este tiempo
serDn a.ortados.
E! So"t Consultor#a $ Soporte E.%.&.L.
'r. El(ira )arc#a $ )arc#a *+,* -r.. Los Cipreces- Lima / 0 Per1
Tel2"onos3 45/-/6 5+,57,, 0 997*,,9*+ 0 997008957
E-mail 3 in"ormes9e!so"t.net :ttp3;;<<<.e!so"t.net
@Qu2 "altaA
Pues nadaK iniciar el ser(idor r2plicaK durante este inicio $
mientras la d. se OsincroniHaP con el ser(idor principal las
cone?iones de clientes no estarDn disponi.les :asta !ue se
llegue a un punto en el cual la in"ormacin $a es consistente.
Luego de este paso todo esta listoK tenemos un ser(idor de
r2plica corriendo 3-6
E! So"t Consultor#a $ Soporte E.%.&.L.
'r. El(ira )arc#a $ )arc#a *+,* -r.. Los Cipreces- Lima / 0 Per1
Tel2"onos3 45/-/6 5+,57,, 0 997*,,9*+ 0 997008957
E-mail 3 in"ormes9e!so"t.net :ttp3;;<<<.e!so"t.net
E! So"t Consultor#a $ Soporte E.%.&.L.
'r. El(ira )arc#a $ )arc#a *+,* -r.. Los Cipreces- Lima / 0 Per1
Tel2"onos3 45/-/6 5+,57,, 0 997*,,9*+ 0 997008957
E-mail 3 in"ormes9e!so"t.net :ttp3;;<<<.e!so"t.net
Toda la documentacin de esta e?posicin la pueden
encontrar a!u# 3
:ttp3;;tin$url.com;8<uugp!
en simple3
:ttp;;<<<.e!so"t.net;<iNi
4seccin Juestras Ponencias6
E! So"t Consultor#a $ Soporte E.%.&.L.
'r. El(ira )arc#a $ )arc#a *+,* -r.. Los Cipreces- Lima / 0 Per1
Tel2"onos3 45/-/6 5+,57,, 0 997*,,9*+ 0 997008957
E-mail 3 in"ormes9e!so"t.net :ttp3;;<<<.e!so"t.net
9racias por su tiempo)