Para obtener ideas de replicación


([N4] mittosoftware) #1

La replicación en VelneoDB es la idea mas votada, de las que no están finalizadas.

Pongo material de referencia (de lo que ya funciona, en código abierto), por si le sirve de algo al equipo de desarrollo.

Como usar Slony

Código fuente de Slony en lenguaje C

Luego la opción Bucardo (código fuente en Perl).

Como usar Bucardo

Wiki de Bucardo

http://bucardo.org/bucardo.git/

 


([N1] aztecmexico) #2

El tema de replicación es bastante complicado, ninguna BD tiene el sistema perfecto de replicación, ni las grandes, ni las medianas, ni las pequeñas.

Cierto, existen verdaderas soluciones que te pueden replicar de manera 99.9999% segura, pero son externas y muy especializadas, cuando menos todas las que conozco, y aparte de que si funcionan tienen la pequeña característica de que cuestan muchos miles de dólares, pero de que funcionan funcionan.

Si realmente tengo un cliente que requiere esa característica “on line” es porque la solución que le estoy vendiendo cuesta muchos miles de dólares y en consecuencia el cliente puede pagar también una solución de replicación verdaderamente profesional y eficiente, amén de costear la infraestructura de sitios espejo de datos a efecto de que ante un desastre o eventualidad pueda hacer el switch de manera lo más transparente posible y continuar con sus operaciones como sin nada.

Sinceramente no espero ni pido ni exijo que Velneo se aviente el toro de generar un sistema de replicación de BD excepcional, no es su core aunque algunos lo queramos ver así cuando nos surge la necesidad. Eso es otro rollo y otro mundo, tan lo es que los ejemplos que manejan no son propios de las BD sobre las que se utilizan, luego, el primero es asincrono y dependiendo de cómo lo configures puede ser decentemente rápido o exageradamente lento, e igualmente dependiendo de como lo configures puede que no sepas en un momento dado qué es lo que ya está sincronizado y qué no lo está.

Repito, de verdad quiero una replicación y sincronización “real”, se puede, pero no con herramientas open source, y cuesta, cuesta muchos miles de dólares, mientras pues a jugar con lo que se tiene o hacer como que se replica con herramientas open source, pero rogando a Dios que nunca se tengan que utilizar esas BD.

Para todo lo demás existe Mastercard.

Saludos.

Martín Ibarra.

P.D. Igual y en un futuro no muy lejano nos dan la sorpresa y pues entonces Bienvenida sea.


([N4] mittosoftware) #3

@mibarra Concuerdo en que la replicación es un tema complicado. Por eso dije en otro hilo que dudo que esté pronto.

Y por esa misma complejidad, no he puesto el ejemplo de la replicación WAL-based de PostgreSQL, ni estoy pidiendo un two-phase commit. Sino que muestro Slony y Bucardo, que permiten replicaciones parciales, que es la que se usarían para trabajar con dispositivos móviles autónomos, donde estos trabajarían con parte de la BD (ej. datos demográficos y geográficos de solo un segmento de la población de un país, en vez de todo el país), y luego estos datos se sincronizarían de ida y vuelta con la BD central, cuando haya una conexión con el servidor, lo suficientemente rápida y estable (ejemplo, gente que salga con tablets a zonas rurales, y cuando llegan a las oficinas centrales, sincronizarse con el servidor central a través de la LAN corporativa).

Abajo, escenarios de replicación con MS-SQL server.

http://msdn.microsoft.com/en-us/library/ms151323(v=sql.105).aspx

http://msdn.microsoft.com/en-us/library/ms151330(v=sql.105).aspx

Finalizando, yo creo que VelneoDB si que debe proveer opciones de replicación. Velneo SA siempre ha insistido en que su mayor fuerte es la BD, y que esta tiene alcance corporativo. Por tanto, tener soluciones de replicación es algo obligatorio, si quieren que de verdad se la considere una BD corporativa.

 

 


([N4] bitcodesoft) #4

La replicación en local es bastante sencilla si tú controlas tus propios servidores, en la nube es otra cosa, la forma local y solo en Windows:

Sistema de copias en caliente vBackups(http://www.bitcodesoft.com/plugins/plugins/)

Te creas una carpeta DropBox en los PC donde quieras duplicar la BD:

  1. Servidor principal vBackups a DropBox
  2. Servidores espejo, DropBox a vBackups( copia el contenido de dropbox
    en la carpeta de la(s) base de datos a duplicar)

Todo esto sin parar los servidores, si existen clientes enganchados en los servidores espejo, se puede parar opcionalmente el servicio del vServer y una vez que se ha realizado la copia volver a levantarlo.

He elegido dropbox pero lo puedes hacer con Skydrive, GoogleDrive…