clustering

Alvaro Herrera alvherre en dcc.uchile.cl
Jue Ago 19 16:02:30 CLT 2004


On Thu, Aug 19, 2004 at 10:54:14AM -0400, Daniel Serpell wrote:

Hola,

> El Thu, Aug 19, 2004 at 10:29:07AM -0400, Alvaro Herrera escribio:
> > 
> > El problema es cuando quieres hacer algo que necesita tener memoria
> > compartida con baja latencia, como con PostgreSQL.  De que se puede se
> > puede, pero el rendimiento es tan horrible que dudo mucho que valga la
> > pena.  Probablemente es mucho mejor usar algo de replicacion asincrona
> > como Slony-I, o bien usar un mecanismo de replicacion sincrono como el
> > famoso Postgres-R (aun sin implementar en versiones razonablemente
> > actuales)
> 
> Siempre he pensado que el eso se puede solucionar más facilmente en
> la aplicación que en la BD misma, al fin y al cabo es el programador
> del modelo de datos el que maneja más información.

Bueno, lo cierto es que cuando la BD no ofrece un sistema de replicacion
que satisfaga las necesidades, el programador tiene que implementar un
sistema que lo haga.  Ciertamente el programador de la aplicacion puede
hacerlo "mas eficiente" porque conoce el modelo de datos en detalle,
pero estar haciendo soluciones especificas cada vez es una lata, a la
vez que es un proceso muy sujeto a errores.


> Por ejemplo, en los sistemas que nosotros diseñamos existen clientes
> que hacen un par de tipos de consultas y agregan filas a un par de
> tablas, de manera constante en el tiempo. Esos clientes pueden
> perfectamente conectarse a bases que contengan tablas con los valores
> necesarios por ellos. Un proceso de replicación a nivel de aplicación
> puede tomar datos de esas bases y consolidarlos rápidamente hacia
> la base de datos consolidados, también de forma autónoma.

Cierto.  En un trabajo mio anterior se hacia algo muy parecido (la
descripcion es la misma).  Nuestra solucion fue semejante.  Pero te
aseguro que si hubieramos dispuesto de un sistema confiable que lo
hiciera automaticamente ni habriamos pensado en hacerlo.

(en la practica se uso durante un tiempo un sistema general automatico
de replicacion, el cual resulto poco confiable, y por eso se hizo un
sistema especifico propio).

> Además, se pueden crear bases con datos históricos, resumenes,
> etc., y mantener aparte para ser utilizadas cuendo el cliente lo
> requiera.

Estoy de acuerdo en que se puede hacer.  Pero es costoso y engorroso.

-- 
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"¿Cómo puedes confiar en algo que pagas y que no ves,
y no confiar en algo que te dan y te lo muestran?" (Germán Poo)



Más información sobre la lista de distribución Linux