Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Sincronizacion de BD identicas

Estas en el tema de Sincronizacion de BD identicas en el foro de Mysql en Foros del Web. Buenas, necesito sincronizar varias BD de forma unidireccional. Fijense en el siguiente esquema: BD Central |------------------|------------------|------------------| BD_Oficina1 BD_Oficina2 BD_Oficina3 BD_Oficina4 Todas las BD son identicas ...
  #1 (permalink)  
Antiguo 18/01/2013, 09:13
 
Fecha de Ingreso: marzo-2011
Ubicación: Caracas
Mensajes: 140
Antigüedad: 13 años, 8 meses
Puntos: 1
Sincronizacion de BD identicas

Buenas, necesito sincronizar varias BD de forma unidireccional. Fijense en el siguiente esquema:

BD Central
|------------------|------------------|------------------|
BD_Oficina1 BD_Oficina2 BD_Oficina3 BD_Oficina4

Todas las BD son identicas o sea contienen las mismas tablas y campos. Existe alguna forma de sincronizar (en un solo sentido, entiendase que se sincroniza de BD_Oficina1 hacia BD_Central pero no viceversa) los datos contenidos en las BD: BD_Oficina1, BD_Oficina2, BD_Oficina3, BD_Oficina4 con los de BD_Central? Habia pensado en hacer un INSERT pero me surge la duda de que pasara si luego en cualquier BD_OficinaX se cambia algun dato de los existentes. De igual forma tengo duda en la duplicación y quizás triplicación de datos. Alguna idea? Sugerencias?

Saludos y desde ya gracias por adelantado
__________________
Reynier Perez Mira
Skype: reynierpm
Site: http://www.reynierpm.com
  #2 (permalink)  
Antiguo 23/01/2013, 14:16
 
Fecha de Ingreso: octubre-2008
Mensajes: 127
Antigüedad: 16 años, 1 mes
Puntos: 5
Respuesta: Sincronizacion de BD identicas

Tal y como lo sugieres parece un poco complejo.
A ver... supongo que podrías comparar las tablas a sincronizar entre la central y la oficina X para saber si han actualizado, borrado o insertado valores y actuar adecuadamente.
Pero no sé cómo vas a controlar que dos oficinas distintas toquen un mismo registro y cuál prevalece.
También podrías llevar un control en la BDs del estado inicial y estado final. Si el estado inicial no coincide con el final de la central, impedir la transacción y resetear el valor con el nuevo estado inicial en la oficina.

Soluciones pueden haber muchas. Falta conocer qué es lo que necesitas exactamente para aplicar una u otra.

Saludos.
  #3 (permalink)  
Antiguo 23/01/2013, 14:37
 
Fecha de Ingreso: marzo-2011
Ubicación: Caracas
Mensajes: 140
Antigüedad: 13 años, 8 meses
Puntos: 1
Respuesta: Sincronizacion de BD identicas

Hola y gracias por tu respuesta, respecto a tu respuesta me surgen algunas dudas y te aclaro algunas a ti.

1) Como se comparan dos tablas de BD diferentes?
2) Dos oficinas distintas no tienen porque tocar los registros una de la otra, para explicarte con el ejemplo: Oficina1 no tiene porque tener acceso a BD_Oficina2 y viceversa, si me hago entender?
3) Me aclaras la última sugerencia de el estado inicial y final que me perdí?
__________________
Reynier Perez Mira
Skype: reynierpm
Site: http://www.reynierpm.com
  #4 (permalink)  
Antiguo 24/01/2013, 15:08
 
Fecha de Ingreso: octubre-2008
Mensajes: 127
Antigüedad: 16 años, 1 mes
Puntos: 5
Respuesta: Sincronizacion de BD identicas

1) Entiendo que la BD Central y las de las oficinas están en distintas instancias. Si es así, mira el uso de las tablas FEDERATED (http://dev.mysql.com/doc/refman/5.0/...rated-use.html) A partir de ahí, será como si las tuvieras en la misma BD. Las podrás comparar con sentencias SELECT con palabras MINUS, por ejemplo.

2) Entendí que una oficina 1 no puede acceder a los datos de la oficina 2, pero, me pareció entender que, una oficina 1 podía tocar un dato que también estuviera en la oficina 2 y, a la hora de llevar los cambios a la BD Central te podrían entrar en conflicto.

3) Era una posible solución a la resolución de conflictos del punto 2.

Saludos.
  #5 (permalink)  
Antiguo 24/01/2013, 20:09
 
Fecha de Ingreso: marzo-2011
Ubicación: Caracas
Mensajes: 140
Antigüedad: 13 años, 8 meses
Puntos: 1
Respuesta: Sincronizacion de BD identicas

1) Hmmm interesante opcion no la conocia pero imagino que esos servidores tanto el central como las agencias deban poser un IP real o me equivoco? O en el mejor de los casos poner una VPN entre todas esas agencias y la central, cierto?

2) No, entendiste mal, la oficina 1 solo puede acceder y entiendase leer/editar (inclusive no puede eliminar) sus datos, la oficina 2 solo puede acceder (leer/editar) a sus datos pero no a los de la oficina 1 y asi ocurre con todas solo tienen acceso las mismas entidades que manejan las BD de las agencias

3) Hmmm igual me quede como que botado !!!! LoL
__________________
Reynier Perez Mira
Skype: reynierpm
Site: http://www.reynierpm.com
  #6 (permalink)  
Antiguo 25/01/2013, 05:56
 
Fecha de Ingreso: diciembre-2012
Mensajes: 13
Antigüedad: 11 años, 11 meses
Puntos: 1
Respuesta: Sincronizacion de BD identicas

Probaste con transacciones MYSQL? Creo q es lo que necesitas!
  #7 (permalink)  
Antiguo 26/01/2013, 11:35
 
Fecha de Ingreso: octubre-2008
Mensajes: 127
Antigüedad: 16 años, 1 mes
Puntos: 5
Respuesta: Sincronizacion de BD identicas

1) No tengo claro con lo que te refieres con una IP real ni sé por qué hablas de VPN. Si ya tienes pensado como acceder desde una oficina a la central ese punto deberías tenerlo resuelto.
2) Entonces, si es así, comparando los datos entre la central y las oficinas, podrás calcular si tienes que hacer un insert (el elemento no existe en la central y sí en la oficina) o un update (el dato existe en ambas BDs)
3) Olvídate de este punto. No lo necesitas.

Las transacciones lo que te permiten hacer es que realices todas las operaciones o ninguna, en función de si han ido todas las operaciones (insert/update/delete) correctamente o no, respectivamente. Yo estas operaciones las trataría en una transacción, como apuntaba patofeo. Obviamente debes decidir como realizar el tratamiento de tus datos en este aplicativo, sobre todo por el tratamiento de la integridad referencial que puedan tener tus tablas.

Saludos.

Etiquetas: bd, insert, sincronizacion, tabla, campos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:00.