2009-01-08 18 views
10

En este momento estamos usando PostgreSQL 8.3 (en Linux) como un back-end de base de datos para nuestra aplicación web Ruby on Rails.Estrategias de replicación de PostgreSQL

Teniendo en cuenta que en la base de datos PostgreSQL utilizamos activamente el bloqueo de nivel de fila y PL/PGSQL, ¿qué podemos emplear para proteger nuestros datos? Me refiero a herramientas, paquetes, scripts, estrategias para replicar con éxito la base de datos y compilar combinación maestra?

También agradeceré las sugerencias de maestro-esclavo.

Por ejemplo, si pongo varios servidores de aplicaciones ejecutando Apache/Ruby para lograr un mayor rendimiento y, al final, despliego varios servidores de bases de datos, ¿hay alguna forma de construir replicación multimaestro en PostgreSQL?

En este momento utilizamos el mecanismo PostgreSQL WAL para hacer una copia de seguridad de los datos en el sistema de archivos.

Muchas gracias.

Respuesta

12

Existen algunas herramientas para escenarios de maestro-esclavo (y maestro-multiláminas), generalmente basadas en disparadores. Slony-I ya se ha mencionado (es estable y sólido, pero un poco difícil de operar). Las personas que tienen problemas con Slony-I escribieron Londiste (por el equipo de Skype) y PyReplica. Bah, y yo sólo vi Mammoth ha estado abierto de fuentes

Para varios maestros existe Bucardo (nota: no es tan pulido) o comerciales ofertas - por ejemplo por Continuent o CyberTec.

1

Pensé Postgres-R parecía prometedor, sin embargo, todavía está en desarrollo.

Se suponía que se había estabilizado y se suponía que era un potencial para la integración con el problema estándar, pero aún no se ha materializado.

0

Puede echar un vistazo a slony.

1

respuesta tardía pero hay un nuevo software de fuente abierta para la replicación asíncrona maestro-maestro de PostgreSQL (también funciona para MySQL): rubyrep

foco está en una configuración sencilla. Divulgación: lo escribí.

+0

Genial ... Lo estoy probando. – Bharath

+1

No es tan simple como parece, sin embargo. – malaverdiere

+0

Parece que ya no se mantiene muy activamente, lo cual es una pena. – fatuhoku

2

Hm, Bucardo es realmente bueno y estable, en comparación con los otros aquí. Es tan refinado como puede ser un sistema de replicación basado en Perl, y admite la replicación maestro-esclavo, así como la replicación de varios maestros, con interesantes conceptos de resolución de conflictos.

Si necesita un representante maestro-esclavo simple, recomendaría Londiste, pero para las necesidades de múltiples maestros, Bucardo es la única solución aceptable en mi humilde opinión.