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!

È stato utile?

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top