Reconcile in MySQL | Progettazione di DataBase Relazionali

Topic: Pubblico - Composto da 6 Posts di 2 Utenti.

30 Marzo, 2009 14:16 #1
davide.lauro
Utente

davide.lauro
Registrato: Mar, 2009
Posts: 7
Offline

Salve, io ho questo problema, un Database centrale su server e diverse repliche di queste database su altri pc (da 1 a 5 repliche max) i quali aggiornano e modificano i dati. A me servirebbe sapere se esiste un metodo per riportare le loro modifiche ed aggiornamenti dal loro db al db presente sul server.

L’unica cosa che ho trovato è la funzione di Replication Status che fa esattamente l’opposto di quello che serve a me.

Grazie mille

04 Aprile, 2009 23:30 #2
g2d
Moderatore

g2d
Registrato: Jul, 2008
Posts: 867
Offline
Segui g2d su Twitter!

Ciao user:”davide.lauro”

Benvenuto in MySQL Italia.

Facciamo un pò di chiarezza:

Il tuo database centrale e le repliche periferiche, sono configurati in una modalità master/slave tipica della replicazione in MySQL?

Oppure sono delle applicazioni che hai sviluppato con un ambiente e delle configurazioni particolari?

Nel primo caso, cioè quello della replicazione MySQL, per ottenere il risultato che cerchi, il database centrale e i database periferici dovrebbero essere tutti master e allo stesso tempo tutti slave, così facendo infatti ti assicurerai sia la ridondanza sia la propagazione delle modifiche che cerchi.

Se invece hai una tua configurazione, e un tuo ambiente particolare devi postare qualche informazione in più in modo da poterti aiutare in modo più preciso.

Per qualsiasi informazione tu dovessi necessitare non esitare a postare sul forum

Saluti user:”algweb”

Ultima modifica 11 Luglio, 2010 01:15 di g2d


Un tempo ero algweb ora sono g2d

06 Aprile, 2009 07:00 #3
davide.lauro
Utente

davide.lauro
Registrato: Mar, 2009
Posts: 7
Offline

Ciao,

al momento la situazione è questa: Il DB è in access e viene fatta una copia per ogni computer che deve apportare modifiche, una volta concluso il lavoro, vengono eseguite delle query dal db principale per importare i dati verificando che non ci siano errori o altri problemi. Questo procedimento pero’ è poco sicuro e non gestisce eventuali modifiche a record già esistenti.

La mia idea è quella di spostare il db sotto mysql e se ho letto bene la tua risposta, impostando tutti i db sia come master, sia come slave, dovrebbe risolvere il mio problema propagando alla prima connessione tutte le modifiche…immagino usando la data di modifica come riferimento…

Attendo conferma e magari maggiori dettagli su come impostare la replica, visto che sono nuovo di sql e mysql.

Grazie

06 Aprile, 2009 08:01 #4
g2d
Moderatore

g2d
Registrato: Jul, 2008
Posts: 867
Offline
Segui g2d su Twitter!

Ciao user:”davide.lauro”

user:”davide.lauro” ha detto:

... impostando tutti i db sia come master, sia come slave, dovrebbe risolvere il mio problema propagando alla prima connessione tutte le modifiche…

Si hai capito bene tutti i DB devono essere allo stesso tempo MASTER e SLAVE.

Se ho ben capito stai facendo una migrazione, da database Microsoft ACCESS a MySQL.

Prima di tutto complimenti ottima scelta! MySQL è un DBMS, Microsoft Access lo è solo in parte, con tutti gli svantaggi del caso.

Ti invito però a fare una riflessione, ovvero secondo me dover fare una migrazione potrebbe essere un occasione, per modificare il tuo asset, ovvero se hai 5 macchine che devono aggiornare lo stesso DB (che oggi viene copiato prima delle modifiche).

Non puoi centralizzare il DB su una sola macchina? Perchè hai scelto di replicare i DB ?

Non riesco bene a capire le tue esigenze, e perchè vuoi risolverle con la replicazione.

Tieni presente che per un server MySQL, cinque client connessi sono poca cosa.

Saluti user:”algweb”

Ultima modifica 11 Luglio, 2010 01:15 di root


Un tempo ero algweb ora sono g2d

06 Aprile, 2009 08:26 #5
davide.lauro
Utente

davide.lauro
Registrato: Mar, 2009
Posts: 7
Offline

Ciao,

Il mio problema è che il db rimane sul server, mentre i pc su cui faccio la copia sono dei TabletPC che sono spesso fuori ufficio senza connessione ad internet.

Quindi al rientro mi serve scaricare i loro dati ed aggiornare il db sul server.

Fino ad oggi il problema non si poneva in quanto si trattava di inserire nuovi record, ma ora abbiamo l’esigenza di modificare i record già inseriti e quindi mi serve anche un sistema più complesso per l’aggiornamento del server.

Ovviamente questo vorrà dire installare mysql su tutti i TabletPC mantenendo pero’ le maschere di inserimento dati che ho realizzato in access.

06 Aprile, 2009 21:00 #6
g2d
Moderatore

g2d
Registrato: Jul, 2008
Posts: 867
Offline
Segui g2d su Twitter!

Ciao user:”davide.lauro”,

ora sto iniziando a capire più da vicino il tuo problema.

Penso che il tuo problema sia da interpretare e risolvere da un diverso punto di vista, mi spiego meglio, stai cercando di risolverlo dal lato infrastrutturale, ma questo non è un problema del Server MySQL, ma dell’applicazione.

Capisco che la replicazione,sembra in questo caso una panacea, ma non è così, la sincronizzazione dei dati è un problema applicativo che sarebbe opportuno risolvere applicativamente.

Il mio suggerimento è quello di scrivere un script di sincronizzazione, in modo da lanciarlo al rientro di ogni TabletPC.

Inoltre se ho ben capito il DB centrale viene popolato dai soli TabletPC, se è così devi scrivere uno script di sincronizzazione monodirezionale (One way), il che semplifica un pò le cose.

Dai uno sguardo a questi link anche se non riportano soluzioni free:

Penso che provare a installare MySQL su dei Tablet PC, sia un esperienza veramente interessante … in bocca al lupo e tienici aggiornati…


Un tempo ero algweb ora sono g2d

Condividi su:

Loggati o Registrati per replicare