2011-01-26 11 views
16

Ho diversi database ubicati in posizioni diverse e un database centrale che si trova in un centro dati. Tutti hanno lo stesso schema. Tutti sono cambiati (inserisci/aggiorna/cancella) in ogni posizione con dati diversi incluso il database centrale.Strategia di sincronizzazione del database da più posizioni a un database centrale e viceversa

Vorrei sincronizzare tutti i dati nel database centrale. Mi piacerebbe anche che tutti i dati nel database centrale si sincronizzino con tutte le posizioni. Quello che voglio dire è che la modifica del database nella posizione 1 dovrebbe riflettersi anche nel database di posizione 2.

Qualche idea su come procedere?

risposta

7

Basta dare un'occhiata a SymmetricDS. È un software di replica dei dati che supporta più abbonati e sincronizzazione bidirezionale.

+1

Questo link non è più accessibile. Nuovo link di lavoro: http://www.symmetricds.org/ – jskidd3

3

È necessario implementare uno schema di replica bidirezionale tra i database. Ogni nuovo record creato dovrebbe avere un identificatore univoco (ad esempio un GUID), in modo che i dati provenienti dai diversi database non siano in conflitto. (Vedi lo mysql replication howto).

MySql supporta solo la replica unidirezionale, quindi è necessario impostare ciascun database come master e rendere ogni database uno slave di tutte le altre istanze del database. Buona fortuna.

0

Sfortunatamente, le funzionalità di replica di MySQL non ti consentono di fare esattamente ciò che desideri.

In genere, per sincronizzare due server è possibile utilizzare lo schema di replica master-master. Vedi http://www.howtoforge.com/mysql_master_master_replication

Il problema è che ogni server MySQL può avere UN SOLO master.

L'unico modo che conosco per mantenere sincronizzati più server, sarebbe una replica circolare (vedi http://onlamp.com/pub/a/onlamp/2006/04/20/advanced-mysql-replication.html?page=2), ma non esattamente soddisfare le vostre esigenze (configurazione "stella")

Forse questa configurazione potrebbe essere abbastanza vicino : tutti i database "distanti" (non centrali) sarebbero solo slave leggibili (sincronizzati mediante una replica master-slave di base) e le scritture si verificherebbero solo sul server centrale (che sarebbe il master).

2

sono andato a SymmetricDS

Credo che sia la qualità superiore anche solo per citare ho trovato in sourceforge (php mysql sync)

e ho trovato molti collegamenti su Internet.

Problemi correlati