Skip to content

Distribución en CouchDB

by Cristian Requena on febrero 5th, 2011

Una de las máximas prioridades durante el diseño de sistemas de información es el hacer que todo funcione. Cuando estos sistemas se encuentran expuestos a cualquier usuario, es decir, cuando están abiertos al acceso desde Internet, no solamente importa que funcionen: es necesario asegurarse de que lo hacen para todo el mundo, independientemente del lugar desde donde esté accediendo a nuestro entorno.

En resumen, se hace necesaria la distribución de datos entre varias bases de datos autónomas, para intentar asegurar un máximo tiempo de disponibilidad.

CouchDB provee de un mecanismo de replicación entre los distintos servidores, que simplemente traslada, en tiempo real, las peticiones a las instancias con las que está relacionado un servidor en concreto. Por ejemplo, si disponemos de tres servidores (A, B y C) y configuramos una replicación circular (A contra B, B contra C y C contra A), cualquier modificación que realicemos en una de estas instancias se traspasará instantáneamente al resto de servidores. En caso de caída de alguno de ellos, el proceso de replicación quedará pausado hasta que la instancia de destino se levante de nuevo.

La replicación de CouchDB también puede ejecutarse manualmente, que es algo bastante útil en el caso de bases de datos off-line (por ejemplo, la de un terminal que no pueda disponer de acceso a red y que deba ser “vaciado” periódicamente).

Proceso de replicación on-line desde el servidor de origen:



Datos replicados en el servidor de destino:

El proceso de replicación off-line es idéntico al que se ha tratado más arriba, con la salvedad de que es ejecutado manualmente.

No comments yet

Leave a Reply

Note: XHTML is allowed. Your email address will never be published.

Subscribe to this comment feed via RSS