clustering

Daniel Serpell daniel_serpell en yahoo.com
Jue Ago 19 10:54:14 CLT 2004


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.

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.

Si un cliente externo hace una consulta, la aplicación busca primero
en la base de datos consolidados, utilizando índices que aceleran
la búsqueda. Si no encuentra en esa base, repite la consulta a las
bases menores las que entregan los datos en buto. La aplicación
puede entonces presentar al usuario la información de manera
transparente.

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

        Daniel.



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