SlideShare una empresa de Scribd logo
1 de 7
Descargar para leer sin conexión
REPLICACIÓN DE DATOS EN POSTGRESQL
Algunos conceptos:
Nodo: Base de datos que se encuentra envuelta en el proceso de replicación entre los
principales tenemos: nodo origen y nodo suscriptor.
Replicación: Proceso por el cual se desea mantener y copiar los datos de una base de datos de
manera que estos datos son transportados y son almacenados.
Replicación maestro: Se encarga de transferir las modificaciones de forma asíncrona a los
nodos suscriptores.
Maestro/Esclavo:
Maestro: recibe consultas de lectura/escritura
Esclavo: solo consultas de lectura
Generalmente cambios asincrónicos (no simultaneo)
Multi-Maestro:
Solo Maestros
Generalmente con sincronismo entre servidores
Sin sincronismo: resolución o prevención de conflictos
En que consiste un sistema de replicación
La replicación es el proceso de intercambiar datos de transacciones para asegurar la
consistencia entre nodos de bases de datos redundantes. Es el proceso de copiar y mantener
los elementos de una base de datos en múltiples bases de datos que forman un sistema de
bases de datos distribuido.
En concreto es mantener una segunda base de datos alterna con la data idéntica a la principal.
Entre las distintas ventajas que ofrece este proceso encontramos:
➢ Alta disponibilidad (high availability): Se puede incrementar la disponibilidad de una base
de datos mediante la replicación en un sistema distribuido. Si una de las máquinas del sistema
falla, las otras podrán satisfacer las necesidades del cliente.
➢ Balance de carga (load balancing): La replicación se puede utilizar para hacer un balance
de carga. Ésta es una técnica usada para compartir el trabajo a realizar entre varias
computadoras.
➢ Soporte para aplicaciones de alto consumo: Se puede satisfacer las necesidades de ciertos
clientes que requieren un alto consumo en consultas, que sería muy costo en rendimiento, o
hasta imposible, en una base de datos sin replicación.
➢ Confiabilidad: Debido a que existen varias copias de los datos disponibles en el sistema, se
cuenta con un mecanismo confiable de recuperación de datos ante fallos en algún nodo.
Modelos de Replicación de Datos
Shared Disk Failover
Este método evita el sobrecargo de sincronización utilizando una sola copia de la base de
datos. Usa un arreglo de disco simple que es compartido por múltiples servidores. Si el
servidor principal de la base de datos falla, el servidor standby es capaz de montarse y
empezar la base de datos como si se tratase de una recuperación de una caída de la base de
datos. Esto permite una recuperación rápida y sin pérdida de datos.
File System Replication
Una versión modificada de la funcionalidad del hardware compartido es la replicación del
sistema de archivos, donde todos los cambios de dicho sistema están duplicados en el sistema
de archivos de otra computadora. La única restricción es que la duplicación debe ser hecha de
manera tal que se asegure que el servidor standby tiene una copia consistente del sistema de
archivos.
Transaction Log Shipping
Los servidores warm standby y hot standby pueden mantenerse actualizados leyendo un flujo
de registros de WAL (write-ahead log). Si el servidor principal falla, el servidor standby
contiene casi todos los datos del servidor pincipal, y puede ser rápidamente convertido en el
nuevo servidor master. Este modelo puede ser sincrónico o asincrónico, y sólo puede ser
implementado para el servidor de base de datos completo.
Trigger-Based Master-Standby Replication
Este tipo de replicación envía todas las consultas de modificación de datos al servidor master.
El servidor master envía asincrónicamente las modificaciones de los datos al servidor standby.
Éste último puede responder consultas de sólo lectura mientras el servidor master esta
corriendo.
Statement-Based Replication Middleware
Con este tipo de replicación, un programa intercepta todas las consultas SQL y las envía a uno
o todos los servidores. Cada servidor opera independientemente. Las consultas de lectura-
escritura deben ser enviadas a todos los servidores, así todos los servidores reciben cualquier
cambio efectuado. Pero las consultas de sólo lectura pueden ser enviadas a un único servidor,
permitiendo la distribución de carga de trabajo de lectura a través de los servidores
disponibles.
Asynchronous Multimaster Replication
Para los servidores que no están conectados regularmente, mantener los datos consistentes a
través de estos es un gran desafío. Usando este tipo de replicación, cada servidor trabaja de
manera independiente y periódicamente se comunica con los otros servidores para identificar
las transacciones conflictivas. Estos conflictos pueden ser resueltos por el usuario o por reglas
de resolución de conflictos.
Synchronous Multimaster Replication
En este tipo de replicación, cada servidor puede aceptar solicitudes de escritura y los datos
modificados son transmitidos desde el servidor original al resto de los servidores antes de que
cada transacción sea confirmada. Una fuerte actividad de escritura puede causar un bloqueo
excesivo,causando un bajo rendimiento. Las solicitudes de lectura pueden ser enviadas a
cualquier servidor.
Replicación nativa en PostgreSQL
A partir de la versión 8.3 de PostgreSQL, se incluye la función de enviar en forma periódica
archivos de un servidor master a un servidor standby. El modelo que implementa es Warm
Standby, los servidores standby no puede responder consultas sobre el.
A partir de la versión 9.0 de PostgreSQL, se incluye la función de replicación como parte de
su núcleo. El modelo que se implementa es el Transaction Log Shipping, conocido como:
Streaming Replication con la opción Hot Standby, que permite que el/los servidores standby
puedan responder consultas de sólo lectura.
Ficheros WAL
Los ficheros WAL (Write Ahead Log) son utilizados por PostgreSQL para guardar toda la
información sobre las transacciones y cambios realizados en la base de datos. Son utilizados
para garantizar la integridad de los datos almacenados en la base de datos. También se utilizan
para reparar automáticamente posibles inconsistencias en la base de datos después de una
caída del servidor. Estos ficheros tienen un nombre único y un tamaño por defecto de 16 Mb.
Cada vez que ocurre una transacción en la base de datos, se escribe en uno de estos archivos,
así, si hay algún problema, se puede recurrir a los archivos WAL para recuperar dicha
transacción.
PostgeSQL nativamente empezo a incluir replicaciones:
PostgreSQL 8.3 → Warm Standby
PostgreSQL 9.0 → Hot Standby / Streaming Replication
PostgreSQL 9.1 → Replicación sincrónica ( Master → Slave)
.
Warm StandBy/Log Shipping
Esta solución viene implementada nativamente desde la versión 8.3. Se basa en él envió
periódico al servidor secundario de archivos WAL. Los archivos WAL o Write Ahead Logging
son similares a los archivos Redo Log de otras bases de datos. Cada vez que una transacción
se efectúa en la base de datos se escribe en un archivo, de esta forma si hay algún percance
con la base de datos puede recurrirse a los archivos WAL para recuperarla.
Ventajas
• Muy sencillo de implementar, modificando apenas 6 líneas en los archivos de
configuración lo tenemos listo.
• Todo lo que se haga en el servidor principal, incluyendo sentencias DLL, se replica en
el secundario (esto a veces es una desventaja, por ejemplo, si tan solo queremos
replicar una base de datos o tener distintos de índices).
Desventajas
• El Warm StandBy Server no puede usarse para aligerar carga del principal, ya que no
pueden efectuarse consultas sobre él.
• Podemos especificar el periodo o ‘timeout’ con el que se mandan los archivos WAL,
pero si este es muy bajo podemos saturar el servidor o la red. Por lo tanto,
dependiendo del nivel de transacciones que tengamos, en caso de una emergencia, es
posible que perdamos alguna.
• Las dos máquinas deben tener arquitecturas (32 or 64 bits) y versiones similares de
PostgreSQL.
Hot Standby/Streaming Replication
Similar a la replicación Warm StandBy. Pero reduce la sincronización de las base de datos por
debajo de 1 segundo ya que se envían registros WAL en vez de los ficheros completos.
Además podemos efectuar consultas sobre el servidor secundario si lo deseamos para aligerar
la carga del primario.
Ventajas
• Sencillo de implementar.
• Todo lo que se haga en el servidor principal, incluyendo sentencias DLL, se replica en
el secundario.
• Puede usarse para aligerar la carga del servidor principal.
Desventajas
• No se pueden especificar que bases de datos o tablas queremos replicar.
• No se pueden hacer cambios en el esquema en el servidor esclavo (por ejemplo, una
indexación distinta).
• Las dos máquinas deben tener arquitecturas (32 o 64 bits) y versiones similares de
PostgreSQL.
A partir de la versión 9.0, PostgreSql soporta replicación en flujo, lo que permite a los
servidores en espera estar más actualizados que con los métodos anteriores de tranferencia de
archivos. Los servidores secundarios se conectan al primario, que envía los registros de WAL
cuando son generados, sin esperar a que los archivos de WAL se llenen.
Básicamente SR (Streaming Replication) permite que exista un proceso “sender”en el master
que envíe a procesos “receiver” en el/los nodos secundarios porciones de WAL (Write-Ahead
Log), es decir, de transacciones “comiteadas” recientemente. Antes (PostgreSQL 8.4 y
anteriores) los WAL se podían archivar a otro nodo una vez se hayan completado 16 MB de
transacciones (por defecto), con lo cual si se tenía una BD que “cambie poco”, 16 MB podían
representar un lapso de tiempo físico importante. A partir de ahora, el lapso de tiempo se
reduce a unos pocos segundos de diferencia en el master y la/las réplicas (dependiendo el
enlace, la carga del master, etc.), con lo cual es una mejora substancial en las capacidades y
posibilidades de PostgreSQL.
Hay que resaltar que este proceso es asincrónico. Combinado con otra de las novedades de
9.0 que es la posibilidad de usar un nodo secundario (recibiendo WALs mediante SR o el
método tradicional) como Sólo Lectura (característica llamada “Hot Standby“), 9.0 dio un
paso muy adelante con respecto a versiones anteriores.
Las versiones más recientes de PostgreSql soportan varios modos de archivamiento (respaldo
continuo) y servidores en espera (standby con recupero continuo)
Replicación sincrónica
A partir de la versión 9.1 PostgreSql soporta la replicación sincrónica para clústeres,
permitiendo alta disponibilidad con consistencia a través de múltiples nodos, mediante la
implementación de clústeres de servidores PostgreSQL usando replicación sincrónica. La
replicación síncrónica soporta "2-safe replication" que asegura que las transacciones han sido
confirmadas por una réplica del servidor maestro, limitando grandemente la posibilidad de
perdida de datos. Solo PostgreSQL soporta replicación sincrónica a nivel de transacciones,
permitiendo a los usuarios escoger, para sus transacciones, entre tiempo de respuesta y
seguridad de sus datos.
Resumen de Modos de Operación:
Continuous Archiving(online backup): archivamiento continuo (respaldos de los segmentos
de WAL)
Point-In-Time Recovery (PITR): recuperación en el tiempo (disaster recovery)
Warm-standby: archivamiento + recuperación continua (high availability)
Hot-standby: archivamiento + recuperación continua + consultas de solo lectura
Herramientas de replicación para PostgreSQL
Herramientas Método replicación Sincronización
PgCluster Master – Master sincronico
Slony-I Master - Esclavo asincronico
PyReplica Master – Master; Master - Esclavo asincronico
PgPool Statement Based Middleware sincronico
Bucardo Master – Master; Master - Esclavo asincronico
RubyRep Master – Master; Master - Esclavo asincronico
Replicación en PostgreSQL con Slony-I
Slony-I es un sistema de replicación asíncrona para PostgreSQL del tipo Master → Multi
Slave. Realiza las actualizaciones a través de disparadores o triggers. Algunas de las
características de Slony-I son:
Puede replicar datos entre diferentes versiones de PostgreSQL.
Puede replicar datos entre servidores con distinto hardware o sistemas operativos.
Permite seleccionar qué tablas replicar.
Permite elegir en qué servidor esclavo se replicarán las tablas. Slony-I también está disponible
para versiones de PostgreSQL inferiores a la 9.0.Esta solución, al estar basada en triggers
presenta ciertas restricciones. Entre las limitaciones de Slony-I tenemos que no puede replicar
automáticamente:
Cambios realizados por una consulta DDL.
Cambios realizados a usuarios y roles.
Cambios en BLOB (Binary Large OBject – Objeto grande binario)
Ventajas frente a la replicación nativa
• Interfaz visual que permite configurarlo de manera más intuitiva.
• Independiente de la plataforma de los nodos.
• Permite seleccionar qué bases de datos se replicarán.
• Permite seleccionar qué tablas de la base de datos se replicarán.
Desventajas frente a la replicación nativa
• No replica cambios efectuados por consultas DDL.
• No replica cambios en los usuarios ni en los roles.
• No puede repicar automáticamente cambios a BLOBs.
• Es necesario instalar software adicional.
Replicación en PostgreSQL con RubyRep
RubyRep es una herramienta de replicación asincrónica, basada en Ruby que permite crear
sistemasde replicación de tipo Master → Master y Master → Slave.
RubyRep tiene soporte tanto para PostgreSQL como para MySQL, es independiente de las
versiones de las bases de datos y de la plataforma. Estas características hacen de Ruby Rep
una herramienta muy flexible que permite la integración de distintos sistemas. Es fácil de
instalar, configurar y monitorear. También es independiente del diseño que tengan las tablas a
replicar, es decir, permite tablas con claves primarias simples, combinadas, o incluso sin
claves primarias (en este último caso es necesario que exista al menos una columna
Unique).Además puede procesar con éxito textos multi-byte y tipos de datos grandes: en
PostgreSQL con bytea y text, en MySQL funciona con los BLOB y text.
Puede encontrar nuevas tablas añadidas en uno de los nodos y automáticamente sincronizar su
contenido. También puede configurar de manera automática disparadores o triggers, tablas de
log, etc.
Algunas de sus limitaciones son que no permite realizar un balance de carga, no admite lo que
seconoce como Connection Pooling (agrupamiento de conexiones), y no puede realizar
particionamiento de consultas.
Ventajas frente a la replicación nativa
Independiente de plataformas y de versiones de bases de datos.
Puede ser usado en PostgreSQL y en MySQL.
Permite la replicación Multi Master.
Desventajas frente a la replicación nativa
Es necesario instalar software adicional.
Menor rendimiento.
Conclusiones
La replicación de una BD sirve para:
• Para tener un sistema tolerable a fallas.
• Para balancear la carga de trabajo en diversos servidores.
• Para aplicaciones de alto consumo en consultas (BI)
• Para tener un ambiente de pruebas o desarrollo lo más parecido al ambiente de
producción.
Un sistema de replicación es muy importante para una organización que cuenta con
información sensible, para aquellas que manejan grandes volúmenes de datos, o para las que
utilizan acceso remoto a la información.
Contar con un sistema de replicación apropiado va a depender de muchos factores, por lo que
es necesario definirlos previamente y que la persona que se va a encargar de implementarlo
esté bien informado sobre todas las soluciones que ofrece el mercado.
Bibliografia
http://www.themagicnumber.es/replication-in-postgresql-i
http://www.themagicnumber.es/replication-in-postgresql-ii-hot-standbystreaming-replication?
lang=es
https://es.scribd.com/doc/217803010/El-Sistema-de-Replicacion-de-Base-de-Datos-de-
Postgresql-9-0
http://tecneca.com/como-replicar-bases-de-datos-postgresql-con-bucardo/
http://www.postgresql.org.ar/trac/wiki/StreamingReplication
http://www.postgresql.org.ar/trac/wiki/RespaldoContinuo
http://es.scribd.com/doc/124248224/Replicacion-PostgreSQL#scribd

Más contenido relacionado

La actualidad más candente

REGLAS DE DATE PARA UN SISTEMA DE GESTION DE BASE DE DATOS DISTRIBUIDAS
REGLAS DE DATE PARA UN SISTEMA DE GESTION DE BASE DE DATOS DISTRIBUIDASREGLAS DE DATE PARA UN SISTEMA DE GESTION DE BASE DE DATOS DISTRIBUIDAS
REGLAS DE DATE PARA UN SISTEMA DE GESTION DE BASE DE DATOS DISTRIBUIDAS
Katty Landacay
 
What's new in Oracle 19c & 18c Recovery Manager (RMAN)
What's new in Oracle 19c & 18c Recovery Manager (RMAN)What's new in Oracle 19c & 18c Recovery Manager (RMAN)
What's new in Oracle 19c & 18c Recovery Manager (RMAN)
Satishbabu Gunukula
 
Diferencias entre los SGBD´s
Diferencias entre los SGBD´sDiferencias entre los SGBD´s
Diferencias entre los SGBD´s
Diego Silva Viera
 

La actualidad más candente (20)

Building a Real-Time Data Pipeline: Apache Kafka at LinkedIn
Building a Real-Time Data Pipeline: Apache Kafka at LinkedInBuilding a Real-Time Data Pipeline: Apache Kafka at LinkedIn
Building a Real-Time Data Pipeline: Apache Kafka at LinkedIn
 
MySQL InnoDB Cluster and Group Replication in a Nutshell: hands-on tutorial
MySQL InnoDB Cluster and Group Replication in a Nutshell:  hands-on tutorialMySQL InnoDB Cluster and Group Replication in a Nutshell:  hands-on tutorial
MySQL InnoDB Cluster and Group Replication in a Nutshell: hands-on tutorial
 
MySQL Administrator 2021 - 네오클로바
MySQL Administrator 2021 - 네오클로바MySQL Administrator 2021 - 네오클로바
MySQL Administrator 2021 - 네오클로바
 
Couch db
Couch dbCouch db
Couch db
 
The Five R's: There Can be no DB2 Performance Improvement Without Them!
The Five R's: There Can be no DB2 Performance Improvement Without Them!The Five R's: There Can be no DB2 Performance Improvement Without Them!
The Five R's: There Can be no DB2 Performance Improvement Without Them!
 
M|18 Architectural Overview: MariaDB MaxScale
M|18 Architectural Overview: MariaDB MaxScaleM|18 Architectural Overview: MariaDB MaxScale
M|18 Architectural Overview: MariaDB MaxScale
 
NA14G05 - A DB2 DBAs Guide to pureScale.pdf
NA14G05 - A DB2 DBAs Guide to pureScale.pdfNA14G05 - A DB2 DBAs Guide to pureScale.pdf
NA14G05 - A DB2 DBAs Guide to pureScale.pdf
 
MariaDB Server Performance Tuning & Optimization
MariaDB Server Performance Tuning & OptimizationMariaDB Server Performance Tuning & Optimization
MariaDB Server Performance Tuning & Optimization
 
No SQL- The Future Of Data Storage
No SQL- The Future Of Data StorageNo SQL- The Future Of Data Storage
No SQL- The Future Of Data Storage
 
LiquiBase
LiquiBaseLiquiBase
LiquiBase
 
Galera Cluster for MySQL vs MySQL (NDB) Cluster: A High Level Comparison
Galera Cluster for MySQL vs MySQL (NDB) Cluster: A High Level Comparison Galera Cluster for MySQL vs MySQL (NDB) Cluster: A High Level Comparison
Galera Cluster for MySQL vs MySQL (NDB) Cluster: A High Level Comparison
 
Maxscale 소개 1.1.1
Maxscale 소개 1.1.1Maxscale 소개 1.1.1
Maxscale 소개 1.1.1
 
NOSQL Database: Apache Cassandra
NOSQL Database: Apache CassandraNOSQL Database: Apache Cassandra
NOSQL Database: Apache Cassandra
 
REGLAS DE DATE PARA UN SISTEMA DE GESTION DE BASE DE DATOS DISTRIBUIDAS
REGLAS DE DATE PARA UN SISTEMA DE GESTION DE BASE DE DATOS DISTRIBUIDASREGLAS DE DATE PARA UN SISTEMA DE GESTION DE BASE DE DATOS DISTRIBUIDAS
REGLAS DE DATE PARA UN SISTEMA DE GESTION DE BASE DE DATOS DISTRIBUIDAS
 
What is new in MariaDB 10.6?
What is new in MariaDB 10.6?What is new in MariaDB 10.6?
What is new in MariaDB 10.6?
 
What's new in Oracle 19c & 18c Recovery Manager (RMAN)
What's new in Oracle 19c & 18c Recovery Manager (RMAN)What's new in Oracle 19c & 18c Recovery Manager (RMAN)
What's new in Oracle 19c & 18c Recovery Manager (RMAN)
 
MySQL InnoDB Cluster - New Features in 8.0 Releases - Best Practices
MySQL InnoDB Cluster - New Features in 8.0 Releases - Best PracticesMySQL InnoDB Cluster - New Features in 8.0 Releases - Best Practices
MySQL InnoDB Cluster - New Features in 8.0 Releases - Best Practices
 
Diferencias entre los SGBD´s
Diferencias entre los SGBD´sDiferencias entre los SGBD´s
Diferencias entre los SGBD´s
 
Solving the DB2 LUW Administration Dilemma
Solving the DB2 LUW Administration DilemmaSolving the DB2 LUW Administration Dilemma
Solving the DB2 LUW Administration Dilemma
 
Funciones sgbd
Funciones sgbdFunciones sgbd
Funciones sgbd
 

Destacado

Alta disponibilidad-postgres
Alta disponibilidad-postgresAlta disponibilidad-postgres
Alta disponibilidad-postgres
Lenin Hernandez
 
Best Practices of HA and Replication of PostgreSQL in Virtualized Environments
Best Practices of HA and Replication of PostgreSQL in Virtualized EnvironmentsBest Practices of HA and Replication of PostgreSQL in Virtualized Environments
Best Practices of HA and Replication of PostgreSQL in Virtualized Environments
Jignesh Shah
 
Replicacion con postgresql y slony
Replicacion con  postgresql y slonyReplicacion con  postgresql y slony
Replicacion con postgresql y slony
Johanna Mendez
 
Replicacion de Datos en SQL Server
Replicacion de Datos en SQL ServerReplicacion de Datos en SQL Server
Replicacion de Datos en SQL Server
brobelo
 
- Creación de una base de datos en MySql con Replicacion -
- Creación de una base de datos en MySql con Replicacion -- Creación de una base de datos en MySql con Replicacion -
- Creación de una base de datos en MySql con Replicacion -
Tōshirō Hitsugaya
 
Replicacion de datos en Oracle
Replicacion de datos en OracleReplicacion de datos en Oracle
Replicacion de datos en Oracle
Jenny Palma
 
Londiste Replication system for PostgreSQL
Londiste Replication system for PostgreSQLLondiste Replication system for PostgreSQL
Londiste Replication system for PostgreSQL
elliando dias
 
Scaling PostgreSQL with Skytools
Scaling PostgreSQL with SkytoolsScaling PostgreSQL with Skytools
Scaling PostgreSQL with Skytools
Gavin Roy
 

Destacado (20)

PostgreSQL replication
PostgreSQL replicationPostgreSQL replication
PostgreSQL replication
 
Alta disponibilidad-postgres
Alta disponibilidad-postgresAlta disponibilidad-postgres
Alta disponibilidad-postgres
 
Alta Disponibilidad con PgPool-II
Alta Disponibilidad con PgPool-IIAlta Disponibilidad con PgPool-II
Alta Disponibilidad con PgPool-II
 
Best Practices of HA and Replication of PostgreSQL in Virtualized Environments
Best Practices of HA and Replication of PostgreSQL in Virtualized EnvironmentsBest Practices of HA and Replication of PostgreSQL in Virtualized Environments
Best Practices of HA and Replication of PostgreSQL in Virtualized Environments
 
Replicacion con postgresql y slony
Replicacion con  postgresql y slonyReplicacion con  postgresql y slony
Replicacion con postgresql y slony
 
Replicacion en mysq
Replicacion en mysqReplicacion en mysq
Replicacion en mysq
 
PostgreSQL Hangout Replication Features v9.4
PostgreSQL Hangout Replication Features v9.4PostgreSQL Hangout Replication Features v9.4
PostgreSQL Hangout Replication Features v9.4
 
Replicacion de Datos en SQL Server
Replicacion de Datos en SQL ServerReplicacion de Datos en SQL Server
Replicacion de Datos en SQL Server
 
Sistema de Replicación de DBs de PostgreSQL 9.0
Sistema de Replicación de DBs de PostgreSQL 9.0Sistema de Replicación de DBs de PostgreSQL 9.0
Sistema de Replicación de DBs de PostgreSQL 9.0
 
- Creación de una base de datos en MySql con Replicacion -
- Creación de una base de datos en MySql con Replicacion -- Creación de una base de datos en MySql con Replicacion -
- Creación de una base de datos en MySql con Replicacion -
 
Replicacion de datos en Oracle
Replicacion de datos en OracleReplicacion de datos en Oracle
Replicacion de datos en Oracle
 
Londiste Replication system for PostgreSQL
Londiste Replication system for PostgreSQLLondiste Replication system for PostgreSQL
Londiste Replication system for PostgreSQL
 
Scaling PostgreSQL with Skytools
Scaling PostgreSQL with SkytoolsScaling PostgreSQL with Skytools
Scaling PostgreSQL with Skytools
 
2014.10.15 Сергей Бурладян, Avito.ru
2014.10.15 Сергей Бурладян, Avito.ru2014.10.15 Сергей Бурладян, Avito.ru
2014.10.15 Сергей Бурладян, Avito.ru
 
Monitoreo tunning postgresql_2011
Monitoreo tunning postgresql_2011Monitoreo tunning postgresql_2011
Monitoreo tunning postgresql_2011
 
Out of the box replication in postgres 9.4
Out of the box replication in postgres 9.4Out of the box replication in postgres 9.4
Out of the box replication in postgres 9.4
 
PostgreSQL: Un motor Impulsado por una comunidad
PostgreSQL: Un motor Impulsado por una comunidadPostgreSQL: Un motor Impulsado por una comunidad
PostgreSQL: Un motor Impulsado por una comunidad
 
MySQL Multi Master Replication
MySQL Multi Master ReplicationMySQL Multi Master Replication
MySQL Multi Master Replication
 
Pg migrator
Pg migratorPg migrator
Pg migrator
 
Backup and-recovery2
Backup and-recovery2Backup and-recovery2
Backup and-recovery2
 

Similar a Replicacion Postgresql

Motores bases de datos jd
Motores bases de datos jdMotores bases de datos jd
Motores bases de datos jd
parkour21
 
Arquitecturas de bd
Arquitecturas de bdArquitecturas de bd
Arquitecturas de bd
Luis Jherry
 

Similar a Replicacion Postgresql (20)

Principales bases de datos
Principales bases de datosPrincipales bases de datos
Principales bases de datos
 
Replicación de Bases de Datos con SQL Server 2008
Replicación de Bases de Datos con SQL Server 2008Replicación de Bases de Datos con SQL Server 2008
Replicación de Bases de Datos con SQL Server 2008
 
Base de dato
Base de  dato Base de  dato
Base de dato
 
Base de dato act4
Base de  dato act4Base de  dato act4
Base de dato act4
 
Introduccion a la Arquitectura de Oracle. Z052 02
Introduccion a la Arquitectura de Oracle. Z052 02Introduccion a la Arquitectura de Oracle. Z052 02
Introduccion a la Arquitectura de Oracle. Z052 02
 
Replicación de servidores
Replicación de servidoresReplicación de servidores
Replicación de servidores
 
Diseño de aplicaciones de bases de datos SQL Azure
Diseño de aplicaciones de bases de datos SQL AzureDiseño de aplicaciones de bases de datos SQL Azure
Diseño de aplicaciones de bases de datos SQL Azure
 
Alta Disponibilidad con SQL Server 2012
Alta Disponibilidad con SQL Server 2012Alta Disponibilidad con SQL Server 2012
Alta Disponibilidad con SQL Server 2012
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
ARQSQL.docx
ARQSQL.docxARQSQL.docx
ARQSQL.docx
 
Base de datos3
Base de datos3Base de datos3
Base de datos3
 
BASE DE DATOS
BASE DE DATOS BASE DE DATOS
BASE DE DATOS
 
Motores bases de datos jd
Motores bases de datos jdMotores bases de datos jd
Motores bases de datos jd
 
Arquitecturas de bd
Arquitecturas de bdArquitecturas de bd
Arquitecturas de bd
 
Alfredo reyes
Alfredo reyesAlfredo reyes
Alfredo reyes
 
Base de datos
Base de datosBase de datos
Base de datos
 
Exposicionsqlite1 (1)
Exposicionsqlite1 (1)Exposicionsqlite1 (1)
Exposicionsqlite1 (1)
 
Pg pool cluster postgresql
Pg pool cluster postgresqlPg pool cluster postgresql
Pg pool cluster postgresql
 
Oracle
OracleOracle
Oracle
 

Último

TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
jlorentemartos
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
amelia poma
 

Último (20)

TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdf
 
Los dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la VerdadLos dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la Verdad
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOTIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
 
Lecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigosLecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigos
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdf
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.pptFUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
Novena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan EudesNovena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan Eudes
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtuales
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 

Replicacion Postgresql

  • 1. REPLICACIÓN DE DATOS EN POSTGRESQL Algunos conceptos: Nodo: Base de datos que se encuentra envuelta en el proceso de replicación entre los principales tenemos: nodo origen y nodo suscriptor. Replicación: Proceso por el cual se desea mantener y copiar los datos de una base de datos de manera que estos datos son transportados y son almacenados. Replicación maestro: Se encarga de transferir las modificaciones de forma asíncrona a los nodos suscriptores. Maestro/Esclavo: Maestro: recibe consultas de lectura/escritura Esclavo: solo consultas de lectura Generalmente cambios asincrónicos (no simultaneo) Multi-Maestro: Solo Maestros Generalmente con sincronismo entre servidores Sin sincronismo: resolución o prevención de conflictos En que consiste un sistema de replicación La replicación es el proceso de intercambiar datos de transacciones para asegurar la consistencia entre nodos de bases de datos redundantes. Es el proceso de copiar y mantener los elementos de una base de datos en múltiples bases de datos que forman un sistema de bases de datos distribuido. En concreto es mantener una segunda base de datos alterna con la data idéntica a la principal. Entre las distintas ventajas que ofrece este proceso encontramos: ➢ Alta disponibilidad (high availability): Se puede incrementar la disponibilidad de una base de datos mediante la replicación en un sistema distribuido. Si una de las máquinas del sistema falla, las otras podrán satisfacer las necesidades del cliente. ➢ Balance de carga (load balancing): La replicación se puede utilizar para hacer un balance de carga. Ésta es una técnica usada para compartir el trabajo a realizar entre varias computadoras. ➢ Soporte para aplicaciones de alto consumo: Se puede satisfacer las necesidades de ciertos clientes que requieren un alto consumo en consultas, que sería muy costo en rendimiento, o hasta imposible, en una base de datos sin replicación. ➢ Confiabilidad: Debido a que existen varias copias de los datos disponibles en el sistema, se cuenta con un mecanismo confiable de recuperación de datos ante fallos en algún nodo. Modelos de Replicación de Datos Shared Disk Failover Este método evita el sobrecargo de sincronización utilizando una sola copia de la base de datos. Usa un arreglo de disco simple que es compartido por múltiples servidores. Si el servidor principal de la base de datos falla, el servidor standby es capaz de montarse y empezar la base de datos como si se tratase de una recuperación de una caída de la base de datos. Esto permite una recuperación rápida y sin pérdida de datos. File System Replication Una versión modificada de la funcionalidad del hardware compartido es la replicación del sistema de archivos, donde todos los cambios de dicho sistema están duplicados en el sistema de archivos de otra computadora. La única restricción es que la duplicación debe ser hecha de manera tal que se asegure que el servidor standby tiene una copia consistente del sistema de
  • 2. archivos. Transaction Log Shipping Los servidores warm standby y hot standby pueden mantenerse actualizados leyendo un flujo de registros de WAL (write-ahead log). Si el servidor principal falla, el servidor standby contiene casi todos los datos del servidor pincipal, y puede ser rápidamente convertido en el nuevo servidor master. Este modelo puede ser sincrónico o asincrónico, y sólo puede ser implementado para el servidor de base de datos completo. Trigger-Based Master-Standby Replication Este tipo de replicación envía todas las consultas de modificación de datos al servidor master. El servidor master envía asincrónicamente las modificaciones de los datos al servidor standby. Éste último puede responder consultas de sólo lectura mientras el servidor master esta corriendo. Statement-Based Replication Middleware Con este tipo de replicación, un programa intercepta todas las consultas SQL y las envía a uno o todos los servidores. Cada servidor opera independientemente. Las consultas de lectura- escritura deben ser enviadas a todos los servidores, así todos los servidores reciben cualquier cambio efectuado. Pero las consultas de sólo lectura pueden ser enviadas a un único servidor, permitiendo la distribución de carga de trabajo de lectura a través de los servidores disponibles. Asynchronous Multimaster Replication Para los servidores que no están conectados regularmente, mantener los datos consistentes a través de estos es un gran desafío. Usando este tipo de replicación, cada servidor trabaja de manera independiente y periódicamente se comunica con los otros servidores para identificar las transacciones conflictivas. Estos conflictos pueden ser resueltos por el usuario o por reglas de resolución de conflictos. Synchronous Multimaster Replication En este tipo de replicación, cada servidor puede aceptar solicitudes de escritura y los datos modificados son transmitidos desde el servidor original al resto de los servidores antes de que cada transacción sea confirmada. Una fuerte actividad de escritura puede causar un bloqueo excesivo,causando un bajo rendimiento. Las solicitudes de lectura pueden ser enviadas a cualquier servidor. Replicación nativa en PostgreSQL A partir de la versión 8.3 de PostgreSQL, se incluye la función de enviar en forma periódica archivos de un servidor master a un servidor standby. El modelo que implementa es Warm Standby, los servidores standby no puede responder consultas sobre el. A partir de la versión 9.0 de PostgreSQL, se incluye la función de replicación como parte de su núcleo. El modelo que se implementa es el Transaction Log Shipping, conocido como: Streaming Replication con la opción Hot Standby, que permite que el/los servidores standby puedan responder consultas de sólo lectura. Ficheros WAL Los ficheros WAL (Write Ahead Log) son utilizados por PostgreSQL para guardar toda la información sobre las transacciones y cambios realizados en la base de datos. Son utilizados para garantizar la integridad de los datos almacenados en la base de datos. También se utilizan para reparar automáticamente posibles inconsistencias en la base de datos después de una caída del servidor. Estos ficheros tienen un nombre único y un tamaño por defecto de 16 Mb. Cada vez que ocurre una transacción en la base de datos, se escribe en uno de estos archivos, así, si hay algún problema, se puede recurrir a los archivos WAL para recuperar dicha transacción.
  • 3. PostgeSQL nativamente empezo a incluir replicaciones: PostgreSQL 8.3 → Warm Standby PostgreSQL 9.0 → Hot Standby / Streaming Replication PostgreSQL 9.1 → Replicación sincrónica ( Master → Slave) . Warm StandBy/Log Shipping Esta solución viene implementada nativamente desde la versión 8.3. Se basa en él envió periódico al servidor secundario de archivos WAL. Los archivos WAL o Write Ahead Logging son similares a los archivos Redo Log de otras bases de datos. Cada vez que una transacción se efectúa en la base de datos se escribe en un archivo, de esta forma si hay algún percance con la base de datos puede recurrirse a los archivos WAL para recuperarla. Ventajas • Muy sencillo de implementar, modificando apenas 6 líneas en los archivos de configuración lo tenemos listo. • Todo lo que se haga en el servidor principal, incluyendo sentencias DLL, se replica en el secundario (esto a veces es una desventaja, por ejemplo, si tan solo queremos replicar una base de datos o tener distintos de índices). Desventajas • El Warm StandBy Server no puede usarse para aligerar carga del principal, ya que no pueden efectuarse consultas sobre él.
  • 4. • Podemos especificar el periodo o ‘timeout’ con el que se mandan los archivos WAL, pero si este es muy bajo podemos saturar el servidor o la red. Por lo tanto, dependiendo del nivel de transacciones que tengamos, en caso de una emergencia, es posible que perdamos alguna. • Las dos máquinas deben tener arquitecturas (32 or 64 bits) y versiones similares de PostgreSQL. Hot Standby/Streaming Replication Similar a la replicación Warm StandBy. Pero reduce la sincronización de las base de datos por debajo de 1 segundo ya que se envían registros WAL en vez de los ficheros completos. Además podemos efectuar consultas sobre el servidor secundario si lo deseamos para aligerar la carga del primario. Ventajas • Sencillo de implementar. • Todo lo que se haga en el servidor principal, incluyendo sentencias DLL, se replica en el secundario. • Puede usarse para aligerar la carga del servidor principal. Desventajas • No se pueden especificar que bases de datos o tablas queremos replicar. • No se pueden hacer cambios en el esquema en el servidor esclavo (por ejemplo, una indexación distinta). • Las dos máquinas deben tener arquitecturas (32 o 64 bits) y versiones similares de PostgreSQL. A partir de la versión 9.0, PostgreSql soporta replicación en flujo, lo que permite a los servidores en espera estar más actualizados que con los métodos anteriores de tranferencia de archivos. Los servidores secundarios se conectan al primario, que envía los registros de WAL cuando son generados, sin esperar a que los archivos de WAL se llenen. Básicamente SR (Streaming Replication) permite que exista un proceso “sender”en el master que envíe a procesos “receiver” en el/los nodos secundarios porciones de WAL (Write-Ahead Log), es decir, de transacciones “comiteadas” recientemente. Antes (PostgreSQL 8.4 y anteriores) los WAL se podían archivar a otro nodo una vez se hayan completado 16 MB de transacciones (por defecto), con lo cual si se tenía una BD que “cambie poco”, 16 MB podían representar un lapso de tiempo físico importante. A partir de ahora, el lapso de tiempo se reduce a unos pocos segundos de diferencia en el master y la/las réplicas (dependiendo el enlace, la carga del master, etc.), con lo cual es una mejora substancial en las capacidades y
  • 5. posibilidades de PostgreSQL. Hay que resaltar que este proceso es asincrónico. Combinado con otra de las novedades de 9.0 que es la posibilidad de usar un nodo secundario (recibiendo WALs mediante SR o el método tradicional) como Sólo Lectura (característica llamada “Hot Standby“), 9.0 dio un paso muy adelante con respecto a versiones anteriores. Las versiones más recientes de PostgreSql soportan varios modos de archivamiento (respaldo continuo) y servidores en espera (standby con recupero continuo) Replicación sincrónica A partir de la versión 9.1 PostgreSql soporta la replicación sincrónica para clústeres, permitiendo alta disponibilidad con consistencia a través de múltiples nodos, mediante la implementación de clústeres de servidores PostgreSQL usando replicación sincrónica. La replicación síncrónica soporta "2-safe replication" que asegura que las transacciones han sido confirmadas por una réplica del servidor maestro, limitando grandemente la posibilidad de perdida de datos. Solo PostgreSQL soporta replicación sincrónica a nivel de transacciones, permitiendo a los usuarios escoger, para sus transacciones, entre tiempo de respuesta y seguridad de sus datos. Resumen de Modos de Operación: Continuous Archiving(online backup): archivamiento continuo (respaldos de los segmentos de WAL) Point-In-Time Recovery (PITR): recuperación en el tiempo (disaster recovery) Warm-standby: archivamiento + recuperación continua (high availability) Hot-standby: archivamiento + recuperación continua + consultas de solo lectura Herramientas de replicación para PostgreSQL Herramientas Método replicación Sincronización PgCluster Master – Master sincronico Slony-I Master - Esclavo asincronico PyReplica Master – Master; Master - Esclavo asincronico PgPool Statement Based Middleware sincronico Bucardo Master – Master; Master - Esclavo asincronico RubyRep Master – Master; Master - Esclavo asincronico Replicación en PostgreSQL con Slony-I Slony-I es un sistema de replicación asíncrona para PostgreSQL del tipo Master → Multi Slave. Realiza las actualizaciones a través de disparadores o triggers. Algunas de las características de Slony-I son: Puede replicar datos entre diferentes versiones de PostgreSQL. Puede replicar datos entre servidores con distinto hardware o sistemas operativos. Permite seleccionar qué tablas replicar. Permite elegir en qué servidor esclavo se replicarán las tablas. Slony-I también está disponible para versiones de PostgreSQL inferiores a la 9.0.Esta solución, al estar basada en triggers presenta ciertas restricciones. Entre las limitaciones de Slony-I tenemos que no puede replicar automáticamente: Cambios realizados por una consulta DDL.
  • 6. Cambios realizados a usuarios y roles. Cambios en BLOB (Binary Large OBject – Objeto grande binario) Ventajas frente a la replicación nativa • Interfaz visual que permite configurarlo de manera más intuitiva. • Independiente de la plataforma de los nodos. • Permite seleccionar qué bases de datos se replicarán. • Permite seleccionar qué tablas de la base de datos se replicarán. Desventajas frente a la replicación nativa • No replica cambios efectuados por consultas DDL. • No replica cambios en los usuarios ni en los roles. • No puede repicar automáticamente cambios a BLOBs. • Es necesario instalar software adicional. Replicación en PostgreSQL con RubyRep RubyRep es una herramienta de replicación asincrónica, basada en Ruby que permite crear sistemasde replicación de tipo Master → Master y Master → Slave. RubyRep tiene soporte tanto para PostgreSQL como para MySQL, es independiente de las versiones de las bases de datos y de la plataforma. Estas características hacen de Ruby Rep una herramienta muy flexible que permite la integración de distintos sistemas. Es fácil de instalar, configurar y monitorear. También es independiente del diseño que tengan las tablas a replicar, es decir, permite tablas con claves primarias simples, combinadas, o incluso sin claves primarias (en este último caso es necesario que exista al menos una columna Unique).Además puede procesar con éxito textos multi-byte y tipos de datos grandes: en PostgreSQL con bytea y text, en MySQL funciona con los BLOB y text. Puede encontrar nuevas tablas añadidas en uno de los nodos y automáticamente sincronizar su contenido. También puede configurar de manera automática disparadores o triggers, tablas de log, etc. Algunas de sus limitaciones son que no permite realizar un balance de carga, no admite lo que seconoce como Connection Pooling (agrupamiento de conexiones), y no puede realizar particionamiento de consultas. Ventajas frente a la replicación nativa Independiente de plataformas y de versiones de bases de datos. Puede ser usado en PostgreSQL y en MySQL. Permite la replicación Multi Master. Desventajas frente a la replicación nativa Es necesario instalar software adicional. Menor rendimiento. Conclusiones La replicación de una BD sirve para: • Para tener un sistema tolerable a fallas. • Para balancear la carga de trabajo en diversos servidores. • Para aplicaciones de alto consumo en consultas (BI)
  • 7. • Para tener un ambiente de pruebas o desarrollo lo más parecido al ambiente de producción. Un sistema de replicación es muy importante para una organización que cuenta con información sensible, para aquellas que manejan grandes volúmenes de datos, o para las que utilizan acceso remoto a la información. Contar con un sistema de replicación apropiado va a depender de muchos factores, por lo que es necesario definirlos previamente y que la persona que se va a encargar de implementarlo esté bien informado sobre todas las soluciones que ofrece el mercado. Bibliografia http://www.themagicnumber.es/replication-in-postgresql-i http://www.themagicnumber.es/replication-in-postgresql-ii-hot-standbystreaming-replication? lang=es https://es.scribd.com/doc/217803010/El-Sistema-de-Replicacion-de-Base-de-Datos-de- Postgresql-9-0 http://tecneca.com/como-replicar-bases-de-datos-postgresql-con-bucardo/ http://www.postgresql.org.ar/trac/wiki/StreamingReplication http://www.postgresql.org.ar/trac/wiki/RespaldoContinuo http://es.scribd.com/doc/124248224/Replicacion-PostgreSQL#scribd