From: | Oswaldo Hernández <listas(at)soft-com(dot)es> |
---|---|
To: | Maily Ochoa <maily_ochoa(at)yahoo(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: [pgsql-es-ayuda] Auxilio por favor!!!!! Sincronización de BD postgres Urgente |
Date: | 2006-03-23 16:10:39 |
Message-ID: | 4422C87F.8090700@soft-com.es |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Maily Ochoa escribió:
> tipo de servidores: dedicados
> sistema operativo :slackware 10.2
> version de postgresql: 8.1.2
> versión de PHP: 5.1.2
>
> la presente es para solicitar ayuda para lograr sincronizar 2 Base
> de Datos postgres en 2 servidores diferentes y que haya consistencia
> de la información.
> Necesito que cada vez que se haga un insert, update, delete, en un
> servidor automaticamente suceda lo mismo en el otro servidor, para
> que ambas bases de datos contengan la misma data.
>
> esto sucede por que tenemos balanceo de cargas en los servidores.
>
1.
Para ponernos en situación: Mencionas php, balanceo de cargas y 2 servidores de bases de datos. En
base a esto asumo la siguiente configuración:
Un Servidor web que, en funcion de la carga de conexiones, redirige estas automáticamente hacia un
servidor de base de datos u otro.
Todas las maquinas están conectados directamente en la misma red con fast ethernet o superior.
Asumo también que los sistemas ya están en funcionamiento.
El problema: La desviación de conexiones que realiza el load balancer causa que la información
contenida en las bases de datos sea diferente.
Si no es asi corrigeme.
2.
Segun tu configuración no te vale una replicación Master/Slave puesto que ambos servidores deben
admitir cambios en las bases de datos. El sistema de replicación ha de ser Master/Master.
3.
Si hasta ahora he ido en lo correcto, la implantación de un sistema de replicación multimaster no es
algo sencillo del tipo Setup, Siguiente, Siguiente y Aceptar.
La replicación multimaster es como un sistema a medida, necesita de un buen análisis de la
situación. Como tu sistema ya esta diseñado esto se complica mas, puesto que será necesario
modificarlo, y dependiendo de como sea incluso quizá fuera necesario replantearlo totálmente.
Si realmente necesitas ese tipo de replicación y tu necesidad es urgente, te recomiendo que empiezes
a buscar otra solución temporal hasta que tengas completamente diseñado y probado el sistema de
replicación.
Tambien te recomiendo un largo paseo por google leyendo sobre 'replicacion sincrona' y 'replicacion
asincrona' y sus equivalentes en ingles, para ponerte un poco en situación.
4.
La replicación master/master se utiliza normalmente cuando los servidores se encuentran en puntos
geográficos distintos (distintas delegaciones de una empresa), y tener una conexión permanente con
la central no es facible o no se considera conveniente.
Como ese no es tu caso, creo que debes analizar seriamente si realmente necesitas realizar
actualizaciones en ambas bases de datos.
Como alternativa se me ocurre:
- Crear un sistema Master->Slave con Slony1
- Eliminar el load balancer
- Modificar el codigo php de forma que aquellas conexiones que realizan modficaciones en la base de
datos conecten con el master, y las que solo realicen lecturas conecten con el slave.
De esta forma ya tendrias un reparto de cargas y la información sincronizada.
Espero haberte ayudado, ;)
Saludos,
--
*****************************************
Oswaldo Hernández
oswaldo(at)soft-com(dot)es
*****************************************
From | Date | Subject | |
---|---|---|---|
Next Message | Miguel Angel | 2006-03-23 16:58:36 | Postgres - C++ |
Previous Message | fernando villarroel | 2006-03-23 15:35:02 | insert into plpython |