Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [MySql] database distribuito su più nazioni

    Ciao a tutti, ho bisogno di un consiglio su come organizzare i miei dati.
    in pratica dovrei avere un db in Italia uno in USA ed uno in Australia e dovrei sincronizzare tutti e tre (per adesso tre..).. poiché in ognuno dei tre Stati esiste un software che inserisce e modifica dati sul proprio db "nazionale"..
    che strumenti ho a disposizione?.. Come posso agire?
    grazie!

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2011
    residenza
    Dublin
    Messaggi
    34
    Potresti provare a usare la replicazione mysql ma non so se é un bene o un male.
    La replicazione non é difficile da attuare ma bisogna sapere come funziona per evitare problemi rognosi.
    La tua configurazione richiama la "ring topology" ma personalmente non l'ho mai provata.
    Leggiti il capitolo sulla replicazione del libro "mysql high performance" per avere un'idea chiara se puó fare al caso tuo.

    Che tipo di interazione ci dovrebbe essere tra i vari DB distribuiti?
    Chi non gode a tavola non gode neanche a letto

  3. #3

    db tutti uguali

    Ciao,
    i due database dovrebbero essere allineati (gli stessi dati su tutti i DB).. quindi un'operazione di update (scrittura) fatta su un qualsiasi DB, dovrebbe essere "replicata" anche sugli altri DB.



    Quote Originariamente inviata da two_socks Visualizza il messaggio
    Potresti provare a usare la replicazione mysql ma non so se é un bene o un male.
    La replicazione non é difficile da attuare ma bisogna sapere come funziona per evitare problemi rognosi.
    La tua configurazione richiama la "ring topology" ma personalmente non l'ho mai provata.
    Leggiti il capitolo sulla replicazione del libro "mysql high performance" per avere un'idea chiara se puó fare al caso tuo.

    Che tipo di interazione ci dovrebbe essere tra i vari DB distribuiti?

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2011
    residenza
    Dublin
    Messaggi
    34
    Quote Originariamente inviata da Bobo Visualizza il messaggio
    Ciao,
    i due database dovrebbero essere allineati (gli stessi dati su tutti i DB).. quindi un'operazione di update (scrittura) fatta su un qualsiasi DB, dovrebbe essere "replicata" anche sugli altri DB.
    La regola base é che la replica non deve modificare dati che il master inserisce o aggiorna.
    Nel tuo caso dovresti fare in modo che ogni DB abbia dati "master" che gli altri DB non vadano a modificare e nel contempo avere dati "replica" da parte degli altri DB che il sistema non cambi.

    Una topologia dove ci sono master che si modificano a vicenda puó portare infatti a tutta una serie di problemi, ma se ti curi di separare i dati che ogni DB va a scrivere/aggiornare (localmente) da quelli che deve leggere (dati replicati) non dovresti incorrere in problemi.
    Ultima modifica di two_socks; 09-02-2016 a 02:42
    Chi non gode a tavola non gode neanche a letto

  5. #5

    Replica automatica

    Ti ringrazio..
    scusami però la domanda banale... Non esiste quindi un sistema che mi permetta di scrivere indifferentemente su uno qualsiasi dei database e poi MySql pensa lui (o "qualcosa" per lui) a ricopiare i dati precisi precisi sugli altri database senza che io mi debba preoccupare di altro?



    Quote Originariamente inviata da two_socks Visualizza il messaggio
    La regola base é che la replica non deve modificare dati che il master inserisce o aggiorna.
    Nel tuo caso dovresti fare in modo che ogni DB abbia dati "master" che gli altri DB non vadano a modificare e nel contempo avere dati "replica" da parte degli altri DB che il sistema non cambi.

    Una topologia dove ci sono master che si modificano a vicenda puó portare infatti a tutta una serie di problemi, ma se ti curi di separare i dati che ogni DB va a scrivere/aggiornare (localmente) da quelli che deve leggere (dati replicati) non dovresti incorrere in problemi.

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2011
    residenza
    Dublin
    Messaggi
    34
    Quote Originariamente inviata da Bobo Visualizza il messaggio
    Ti ringrazio..
    scusami però la domanda banale... Non esiste quindi un sistema che mi permetta di scrivere indifferentemente su uno qualsiasi dei database e poi MySql pensa lui (o "qualcosa" per lui) a ricopiare i dati precisi precisi sugli altri database senza che io mi debba preoccupare di altro?
    Questo é quello che fa esattamente la replicazione.
    Il problema é che ci possono essere casi in cui i dati vanno in conflitto e quindi la replicazione si blocca fino a quando non viene risolta.

    Facciamo caso che la replica é fuori sincrono di 10 secondi.
    Se avviene un inserimento che autoincrementa una chiave primaria nel Master e anche lo Slave (non ancora aggiornato) effettua un inserimento sulla stessa tabella, si verrebbe a creare un conflitto nel momento in cui la replica (leggendo il binary log del Master) proverebbe a inserire dati con la stessa chiave primaria.

    Quindi, puoi "...scrivere indifferentemente su uno qualsiasi dei database..."?
    Si, l'importante é che tu sappia che non si vengano a creare conflitti tra chiavi primarie e tabelle correlate, altrimenti staresti ogni momento a mettere mani sul DB per rimediare agli errori che MySQL non saprebbe come risolvere.
    Chi non gode a tavola non gode neanche a letto

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.