DigitalKiller
11-03-2007, 12:41
Devo scrivere una semplice applicazione in java che si appoggia su un db mysql. Prima di iniziare a scriverla, però, vorrei sapere da voi se è possibile realizzare una cosa simile. Vi spiego la mia idea...
L'applicazione sarà installata in diversi punti di vendita messi in comunicazione con la sede centrale tramite una vpn. I dati saranno inseriti/letti da entrambi i lati e cambieranno in base ai punti di vendita.
Per diversi motivi (backup dei dati, aggiornamento in tempo reale, possibilità per un pdv di lavorare in off-line in caso di assenza di collegamento) pensavo di installare mysql su tutti i pdv (i pdv lavorerebbero quindi in locale) e, tramite replica, sincronizzare il db con quello della sede centrale. Fin qui, credo, che non ci sia nulla di complicato...
Il problema è questo..
La replica dev'essere attiva in entrambi i sensi, cioè da e verso i pdv. Cerco di spiegarmi meglio.
- il pdv 000001 scarica dalla sede solo i record con chiave uguale a 00001
- il pdv 000002 scarica dalla sede solo i record con chiave uguale a 00002
....
- il pdv 000003 carica sul db della sede i record con chiave uguale a 00003
...
Riassumendo...Nel singolo pdv saranno memorizzati solo i dati di competenza del pdv, mentre la sede centrale memorizzerà i dati di tutti i pdv in un unico db.
E' possibile, quindi, discriminare i record da replicare verso il pdv in base ad un campo (nel mio caso il codice del pdv)? E' sbagliato come approccio? Mysql va bene o devo orientarmi su qualcos'altro?
Spero di essere stato chiaro.
Grazie:D
L'applicazione sarà installata in diversi punti di vendita messi in comunicazione con la sede centrale tramite una vpn. I dati saranno inseriti/letti da entrambi i lati e cambieranno in base ai punti di vendita.
Per diversi motivi (backup dei dati, aggiornamento in tempo reale, possibilità per un pdv di lavorare in off-line in caso di assenza di collegamento) pensavo di installare mysql su tutti i pdv (i pdv lavorerebbero quindi in locale) e, tramite replica, sincronizzare il db con quello della sede centrale. Fin qui, credo, che non ci sia nulla di complicato...
Il problema è questo..
La replica dev'essere attiva in entrambi i sensi, cioè da e verso i pdv. Cerco di spiegarmi meglio.
- il pdv 000001 scarica dalla sede solo i record con chiave uguale a 00001
- il pdv 000002 scarica dalla sede solo i record con chiave uguale a 00002
....
- il pdv 000003 carica sul db della sede i record con chiave uguale a 00003
...
Riassumendo...Nel singolo pdv saranno memorizzati solo i dati di competenza del pdv, mentre la sede centrale memorizzerà i dati di tutti i pdv in un unico db.
E' possibile, quindi, discriminare i record da replicare verso il pdv in base ad un campo (nel mio caso il codice del pdv)? E' sbagliato come approccio? Mysql va bene o devo orientarmi su qualcos'altro?
Spero di essere stato chiaro.
Grazie:D