From: | "Miguel Beltran R(dot)" <yourpadre(at)gmail(dot)com> |
---|---|
To: | "Ayuda Postgres" <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Sincronizar información entre dos bases... postgresql y mssql |
Date: | 2008-03-05 18:42:13 |
Message-ID: | b623c7e40803051042p2518f2d4vc0e60a06e4283773@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Hola lista
De nuevo con mi problema pero ahora viendolo de otra forma. Primero
voy a detallar algunos datos que parece que me falto mencionar. Los
datalles estan un poco resumidos, pero la diferencia es que son mas
tablas.
- Lo que quiero hacer es mas bien una sincronizacion entre bases.
- La bases son master-master.
- En la base A tenemos la tabla datos_entregadas donde se insertar,
eliminan y modifican datos que debe ser pasados a la base B.
- En la base B tenemos la tabla datos_recibidos donde se insertan,
eliminan y modifican datos que deben ser pasados a la base A. Estos
datos tienen que ser validos segun los datos de la tabla
datos_entregados
- La carga de trabajo no es mucha. El total de usarios en todo el
sistema en este momento es de unos 1300 usuarios, con maximo 10
operaciones simultaneas (consultas, modificación e insercciones) en la
base A; y calculo que 200 como maximo operaciones simultaneas
(consultas, modificación e insercciones) en la base B.
Despues de estar analizando encontre un problema si lo hago con un
trigger que este actualizando la información en tiempo real, que es
cuando por X razón no existe comunicación (internet) entre los equipos
claramente no funcionaria.
Aquí existen dos soluciones según yo (si hay mas no se me ocurre)
cuando esten en línea de nuevo:
1.- Hacer una consulta en ambas bases (A y B) y buscar las diferecias,
estas realizar las tareas pertinentes
2.- Que cada base tenga una tabla _sincronizacion_ con los datos que
se han modificado: llave primaria serial, un timestam (del momento de
la acción), tipo de acción (insercion/modificacion/eleminacion), tabla
donde se realizado la acción, <campo bandera> de si ya se hizo esta
accion en en otro servidor (bandera para que el servidor no
actualizado sepa si ya sincronizo esta accion)
Para ambas formas haria un programa corriendo cada 5 minutos
intentando la sincronización.
¿Sugerencias? ¿algo que haga algo parecido?
pd. Porque en DTS si lo puede hacer hacer, no le encontrado
--
________________________________________
Lo bueno de vivir un dia mas
es saber que nos queda un dia menos de vida
From | Date | Subject | |
---|---|---|---|
Next Message | Gilberto Castillo Martínez | 2008-03-05 22:05:09 | Funcion |
Previous Message | Silvio Quadri | 2008-03-05 16:21:09 | Re: Ayuda rendimiento de postgres |