2011-12-16 23 views
6

Diciamo che hai un sito web grande, popolare, basato su database. Ci sono persone sul sito tutto il giorno e tutta la notte. Accedono alle pagine che leggono e scrivono nel database.Le migliori pratiche per le scritture del database del sito Web durante i backup a freddo?

Quando si implementa un piano di backup giornaliero del database, è necessario eseguire backup a freddo, il che significa che si arresta temporaneamente il database o si bloccano le tabelle mentre il backup è in corso. Ciò garantisce che i nuovi dati non vengano inseriti nel database mentre è in corso il backup.

Quali sono alcuni buoni approcci per codificare i controller ei modelli di sito in modo che non vengano interrotti a causa di blocchi di tabelle o di database non in linea? È necessario implementare una sorta di sistema di code di scrittura del database o qualcosa del genere? O semplicemente prendi l'intero sito offline temporaneamente? O fai solo backup live senza bloccare o chiudere nulla? Qual è un buon approccio?

risposta

3

utilizza la replica, ecco un semplice scenario

1 master A, 2 slave B, C

  • durante il normale funzionamento, l'applicazione deve caricare l'equilibrio tra A, B e C
  • durante il backup, l'applicazione NON deve leggere/scrivere da A
    • alleviare A da master, promuovere B a master, cambiare slave C per ascoltare su B
    • uso A per il backup
    • dopo il backup fatto
    • cambiamento A per ascoltare da B (che è dire uno schiavo diventerà d'ora in poi)
  • quando A è raggiungere con B, (non più di ritardo), modificare l'applicazione per caricare nuovamente l'equilibrio tra a, B, C

per il Day 2, è sufficiente ripetere l'intero ciclo, del Master è ora B.

+0

Se non si dispone di alcun controllo su la vita La configurazione del server MySQL, ad esempio in un ambiente di hosting Web condiviso, è ancora un'opzione di replica? –

+0

Questo è un problema quindi, il prezzo di hosting è attraente al giorno d'oggi, non credo che sarà difficile ottenere uno che sia buono ed economico. Tra, quali sono le società di hosting che stai utilizzando? – ajreal

+0

Rackspace Cloud Sites. È un bene perché il tuo sito (i) si adatta magicamente al traffico ma ti limita molto alle funzionalità. Nessuna configurazione SSH, RSYNC, SFTP, MySQL, ecc. Potremmo dover scegliere un host separato solo per l'hosting del database da solo. –