Re: Problema de Semi-replicacion 2

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Espartano <espartano(dot)mail(at)gmail(dot)com>
Cc: "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Problema de Semi-replicacion 2
Date: 2007-02-06 16:55:33
Message-ID: 20070206165533.GE22166@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Espartano escribió:

> La pregunta:
> Se nos ha ocurrido que podemos desarrollar un daemon que podemos
> instalar en cada sucursal que este esperando notify por parte de la
> base de datos, cuando se inserte algun dato que se desee replicar en
> el master el daemon debera comprobar que el enlace con la vpn esta
> correcto, que tiene acceso al master y si todo va bien debera insertar
> en la tabla adecuada (tal vez no se tenga el mismo esquema de tablas
> en el master) de haber problemas con el enlace o el acceso a la db
> podria notificar via mail al admin y estar esperando cada x tiempo
> para reintentar la insersion, creen que esta solucion es viable ? aqui
> pensamos que si pero nos gustaria escuchar alguna opinion.

Yo hice un sistema muy parecido lo que describes años atras, y realmente
no te lo recomiendo porque es bastante complicado de desarrollar y
sujeto a errores menores y sutiles de todo tipo. El tiempo de
desarrollo se va tornando más largo de lo esperado, a medida que vas
(lentamente) descubriendo los datos corruptos o faltantes :-(

Una idea que alguien comentó hace poco en relación a Slony-I, era hacer
replicación "inversa" desde las sucursales hacia el servidor master. La
idea era algo así como que el master tiene un schema por cada sucursal,
con las mismas tablas; y esas tablas en el master son "esclavas"
(suscriptores en terminología Slony-I) de las tablas de cada sucursal.

Las "tablas" del servidor son padres (de herencia) de las tablas
esclavas. Así, cuando haces un select en ellas, automáticamente
aparecen todos los datos que están en las tablas replicadas. Hay que
tener obviamente cuidado con las llaves foráneas, restricciones de
unicidad, etc.

Obviamente, hay tablas que sólo se deben modificar en el master. Ésas
son replicadas normalmente, desde el master hacia las sucursales.

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Yessica Brinkmann 2007-02-06 16:58:26 Re: Existe alguna función similar a DIFFERENCE() y SOUNDEX() de sql server en Postgres?
Previous Message Alvaro Herrera 2007-02-06 16:15:11 Re: Fw: Cual Instalar ?? 8.2.2 o 8.1.4 en CentOS4.4