Quali sono le tue opinioni su DRBD / Heartbeat per la replica e il failover per Firebird RDBMS?
-
06-07-2019 - |
Domanda
Sto cercando la possibilità di usare Firebird per un progetto.
Tuttavia, un potenziale problema è la replica e il failover, o meglio, la mancanza di un (soggettivo) "buono" soluzione. Esistono diverse potenziali soluzioni elencate nelle FAQ di Firebird ma sono o 1) incentrate su Windows; 2) orribilmente obsoleto; 3) commerciale; o 4) non completo.
L'unica potenziale opzione che vedo è FIBRA e sembra 1) immatura; 2) potenzialmente morto; e 3) non completo.
Ho imparato a conoscere DRBD e Heartbeat e queste soluzioni sembrano promettenti. Sto cercando il tuo feedback se avessi già 1) impostato una configurazione replicata di Firebird; e / o 2) usato DRBD con Firebird.
Eventuali suggerimenti, suggerimenti, suggerimenti e così via?
Grazie!
Soluzione
Esiste una sessione sulla replica in 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
il proprio sistema di replica in a Database di Firebird. Basato su trigger e semplici script, puoi creare un sistema di backup live. L'architettura consente master-master, master-slave, multi-master, online e offline replica. Il replicato Firebird il cluster può essere utilizzato da qualsiasi client senza interruzione, anche nel caso di guasti hardware parziali, pianificati manutenzione hardware e software operazioni, ad esempio il passaggio a una nuova versione di Firebird.
Altri suggerimenti
Negli ultimi 2 anni abbiamo utilizzato la soluzione DRBD / Heartbeat / Pacemaker per lo stesso problema. Per mantenere attivi e funzionanti i database Firebird e il failover. L'installazione è in realtà abbastanza semplice e ho alcuni suggerimenti che ti darò per ottenere un vantaggio. Quindi questi sono solo suggerimenti ...
- crea una drbd , formattala e montala su / data (con il pacemaker ovviamente)
- metti il ??tuo aliases.conf nella drbd partion , quindi non dovrai cambiare due volte aliases.conf ogni volta che ne fai una modifica. Copia il file aliases.conf in / data e collegalo a /etc/firebird/2.1/aliases.conf su entrambi i nodi
Il aspetto negativo dell'uso di Drbd / Pacemaker in una configurazione primaria / secondaria è che i client perderanno la connessione non appena il nodo primario muore e fino a quando il nodo secondario non è attivo. Dovrà riconnettersi. Non ho davvero trovato un altro modo in cui, sebbene il client Firebird dovrebbe consentire un timeout della connessione, non ha mai funzionato davvero con le nostre applicazioni (forse le applicazioni o le librerie che utilizziamo non usano davvero il timeout della connessione Firebird).
Per quanto riguarda la replica del database, temo che tu debba seguire la strada come l'ha citata o citata da Hugues Van Landeghem. Abbiamo sviluppato un'applicazione del genere che funziona con i trigger. Quindi una nuova riga viene aggiunta a una tabella, un trigger copia la chiave della voce in un'altra tabella che viene costantemente letta da un'applicazione che prende quella voce e la inserisce in un altro database. Abbastanza brutto ma funziona benissimo! Personalmente penso che Firebird dovrebbe investire un po 'di tempo nell'avere il proprio sistema di repliche di basi di dati ... sono davvero molto indietro ...
Spero che le mie informazioni ti abbiano aiutato un po '. Ho ulteriori domande non esitate a contattarmi o visitare il mio sito @ gefoo.org