Jump to content
Sign in to follow this  
csaffi

Consigli Architettura e Sincronizzazione database

Recommended Posts

Avendo una distribuzione geografica su 4 sedi, abbiamo creato apposite VPN per avere un'unica rete basata su fibra.

A quel punto abbiamo distribuito un cluster database ma il MySQL ci dava continui problemi perché era sufficiente saltasse un link per creare dati incoerenti visto che, in master/master il nodo isolato credeva di essere l'unico sopravvissuto (questo è comunque un problema comune a tutti i cluster se non hai un link secondario per fare heartbeat in qualche modo).

A parte questo, la resincronizzazione era poi un macello considerato che l'azienda per cui ho studiato questa soluzione fa un uso pesantissimo di letture/scritture su db.

Dopo un po' di test si è finalmente deciso di buttare via MySQL (che, tra l'altro odio da sempre) per un cluster SQL Server. So che qualcuno inorridirà (pure io non è che amo tanto i prodotti M$) ma abbiamo ottenuto un sistema decisamente più stabile e scalabile.

Naturalmente poi abbiamo comunque dovuto configurare, secondo alcune regole interne, i vari nodi in modo che tutti fossero secondari tranne la sede principale.

 

Considera che questo tipo di ambiente è differente da quello che descrivi tu per cui farei una serie di test ben precisi prima di procedere in produzione provando letteralmente a "scassare" i vari link per verificare che la coerenza dei dati non vada a farsi benedire.

 

 

Alcuni hanno parlato molto bene di Percona XtraDB Cluster su quest'altro mio post.

 

Altrimenti, se devo abbandonare il cluster, l'architettura potrebbe essere questa:

- Ecommerce remoto, con db MySQL master

- Applicazione web locale, con db MySQL slave, modificata in modo da scalare le giacenze sul master con una chiamata ad un webservice remoto

- Gestionale locale legacy, esporta periodicamente i dati su file, i quali saranno inviati al master remoto ed importati

 

Cosa ne pensate?

Share this post


Link to post
Share on other sites
Alcuni hanno parlato molto bene di Percona XtraDB Cluster su quest'altro mio post.

 

Altrimenti, se devo abbandonare il cluster, l'architettura potrebbe essere questa:

- Ecommerce remoto, con db MySQL master

- Applicazione web locale, con db MySQL slave, modificata in modo da scalare le giacenze sul master con una chiamata ad un webservice remoto

- Gestionale locale legacy, esporta periodicamente i dati su file, i quali saranno inviati al master remoto ed importati

 

Cosa ne pensate?

Sicuramente una struttura master/slave può essere più semplice da gestire nei momenti "critici". Di Percona non so un tubo ( :asd: ).

 

Trovo corretto il pensare più a livello applicativo che strutturale ma lì le valutazioni dovete farle voi che conoscete bene il software, poi oh, un periodo di test ed integrazione credo lo prevederete e non è peccato, eventualmente fare cambiamenti prima di andare in produzione.

Share this post


Link to post
Share on other sites
Sicuramente una struttura master/slave può essere più semplice da gestire nei momenti "critici". Di Percona non so un tubo ( :asd: ).

 

Trovo corretto il pensare più a livello applicativo che strutturale ma lì le valutazioni dovete farle voi che conoscete bene il software, poi oh, un periodo di test ed integrazione credo lo prevederete e non è peccato, eventualmente fare cambiamenti prima di andare in produzione.

 

 

Si certamente avremo una fase di test prima di andare in produzione. Al momento sono indeciso tra l'architettura master/slave descritta sopra e quella master/master con cluster galera da implementare con Percona o MariaDB.

 

Si accettano suggerimenti :)

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×