2011-10-11 23 views
13

sto sviluppando un'applicazione web utilizzando php e mysql. questa applicazione funziona su tre posizioni diverse. 1. su internet. 2. sede legale. 3. filiale. L'applicazione viene eseguita sul server locale presso la sede principale e la filiale. la connessione internet non è disponibile in ogni momento. clienti che effettuano ordini attraverso queste tre sedi. il mio problema è che voglio sincronizzare i dati tra questi tre database e mantenere questi tre database aggiornati. c'è un modo per questo.Sincronizzazione database online/offline - MySQL/PHP

+0

hmm. prova la replica – Gajahlemu

+0

possibile duplicato di [sincronizzazione del database MySQL] (http://stackoverflow.com/questions/3648242/mysql-database-synchronization) (guarda anche le [altre domande] (http://stackoverflow.com/search ? q = mysql + sincronizzazione + php)) – mario

+0

vedere http://www.mysql.com/products/cluster/mysql-cluster-datasheet.pdf – Gajahlemu

risposta

11

sto usando SymmetricDS per sincronizzare i database. È in grado di sincronizzare o replicare i dati tra i nodi (server/database), solo spingendo o tirando i dati definiti. È un software basato su Java, ha una curva di apprendimento ripida, ma fa davvero il lavoro.

SymmetricDS può essere impostato per trasferire le modifiche da un nodo ad altri due nodi, assicurandosi che tutti e tre i nodi contengano gli stessi dati. Devi assicurarti che le chiavi primarie siano chiavi univoche e non i valori autoincrementati assegnati dal database poiché molto probabilmente sarà un problema tra i tre diversi database che desideri sincronizzare.

Il software installa i trigger sul database e acquisisce le modifiche quando vengono eseguite le operazioni INSERT, UPDATE o DELETE (e altre). Queste modifiche ai dati vengono quindi invocate sugli altri nodi. Il software deve essere eseguito in ogni posizione, ma non è necessaria una connessione Internet disponibile in qualsiasi momento.

All'inizio mi preoccupavo che i trigger su tutti i miei tavoli avrebbero rallentato le prestazioni, ma questo non è stato affatto un problema. Non posso dire di aver riscontrato problemi con le prestazioni dopo l'installazione dei trigger.

Dai un'occhiata a http://symmetricds.org/ per maggiori dettagli.

+0

Grazie sbrattla per suggerire lo strumento. Ho scritto alcuni script php personalizzati per risolvere il mio problema. Ho usato qualche idea da SymmetricDS per risolvere questo problema. – iamsumesh

+0

Come usare questo? –

+0

Il mio post sopra descrive come funziona, ma è necessario andare sul sito Web del software per apprenderne i dettagli. Come accennato, ha una curva di apprendimento ripida, ma funziona molto bene se si capisce. – sbrattla

Problemi correlati