¿Cuáles son sus opiniones sobre DRBD / Heartbeat para la replicación y la conmutación por error para Firebird RDBMS?
-
06-07-2019 - |
Pregunta
Estoy investigando la posibilidad de usar Firebird para un proyecto.
Sin embargo, un problema potencial es la replicación y la conmutación por error, o más bien, la falta de un (subjetivo) "bueno" solución. Hay varias soluciones potenciales enumeradas en las preguntas frecuentes de Firebird, pero son 1) centradas en Windows; 2) horriblemente anticuado; 3) comercial; o 4) no tiene todas las funciones.
La única opción potencial que veo es FIBRA y parece 1) inmadura; 2) potencialmente muerto; y 3) no tiene todas las funciones.
Aprendí sobre DRBD y Heartbeat y estas soluciones parecen prometedoras. Estoy buscando sus comentarios si ya tiene 1) configurar una configuración Firebird replicada; y / o 2) usó DRBD con Firebird.
¿Alguna "trampa", recomendaciones, consejos, etc.?
¡Gracias!
Solución
Hay una sesión sobre replicación en Firebird Conference 2009
Holger Klemt
* Firebird Replicated Part 1 * Firebird Replicated Part 2 o In this two sessions you will see how easy it is to implement
su propio sistema de replicación en un Base de datos de Firebird. Basado en disparadores y scripts simples, tu puedes crear un sistema de respaldo en vivo. La arquitectura permite maestro-maestro, maestro-esclavo, multimaestro, en línea y fuera de línea replicación. El Firebird replicado clúster puede ser utilizado por cualquier cliente sin interrupción, también en el caso de fallas parciales de hardware, planificadas mantenimiento de hardware y software operaciones, por ejemplo, el cambio a una nueva versión de Firebird.
Otros consejos
Hemos estado usando la solución DRBD / Heartbeat / Pacemaker durante los últimos 2 años por exactamente el mismo problema. Para mantener las bases de datos Firebird en funcionamiento y la conmutación por error. La configuración es bastante fácil y tengo algunas sugerencias que le daré para comenzar. Estas son solo sugerencias ...
- crear una partición drbd , formatearla y montarla en / data (con marcapasos, por supuesto)
- ponga su aliases.conf en la partición drbd , para que no tenga que cambiar aliases.conf dos veces cada vez que realice un cambio. Copie el archivo aliases.conf en / data y vincúlelo a /etc/firebird/2.1/aliases.conf en ambos nodos
El inconveniente de usar Drbd / Pacemaker en una configuración Primaria / Secundaria es que los clientes perderán la conexión tan pronto como el nodo primario muera y hasta que el nodo secundario esté activo. El tendrá que volver a conectar. Realmente no he encontrado otra manera de hacerlo, aunque el cliente firebird debería permitir un tiempo de espera de conexión, nunca funcionó realmente con nuestras aplicaciones (tal vez las aplicaciones o las bibliotecas que utilizamos realmente no usan el tiempo de espera de conexión firebird).
En cuanto a la replicación de la base de datos, me temo que tienes que seguir el camino como Hugues Van Landeghem lo describió o citó. Desarrollamos una aplicación de este tipo que funciona con disparadores. Por lo tanto, se agrega una nueva línea a una tabla, un desencadenador copia la clave de la entrada en otra tabla que una aplicación lee constantemente esa entrada y la inserta en otra base de datos. ¡Bastante feo pero funciona bien! Personalmente, creo que Firebird debería invertir algo de tiempo en tener su propio sistema de replicación de bases de datos ... están realmente muy atrasados ??...
Espero que mi información te haya ayudado un poco. Tengo más preguntas, no dude en ponerse en contacto conmigo o visitar mi sitio @ gefoo.org