Come funziona effettivamente il backup / snapshot di Amazon RDS?


94

Sono un cliente Amazon RDS e riscontro picchi giornalieri di latenza di scrittura di Amazon RDS, corrispondenti all'incirca alla finestra di backup. Vedrò anche picchi alla fine di un'istantanea (esempio calzante: l'esecuzione di un'istantanea richiede circa 1 ora e negli ultimi 5 minuti, scrive picchi di latenza). Sto eseguendo una distribuzione m1.large multi-AZ.

C'è qualcuno su Stack che può spiegare come funziona effettivamente il backup di Amazon RDS ? Ho letto i documenti di Amazon RDS e, per quanto ne so, Amazon RDS non si comporta secondo le specifiche. In particolare, queste operazioni di backup / snapshot dovrebbero colpire la mia replica e quindi non causare alcun calo di tempo di inattività / prestazioni, o almeno così pensavo.

Posso distillare il mio problema in sei domande:

  • Cosa sta accadendo tecnicamente durante un'istantanea e un backup e in che modo differiscono? (Se rispondi a questa domanda, per favore dimmi se sei in grado di confermare empiricamente la tua risposta, o mi stai semplicemente citando la documentazione).
  • È previsto un picco nella latenza di scrittura durante il periodo di backup su un'implementazione multi-AZ?
  • È previsto un picco nella latenza di scrittura alla fine di un'istantanea su un'implementazione multi-AZ?
  • Il mio picco di latenza in scrittura sarebbe ancora più alto se non fossi multi-AZ?
  • Dal punto di vista architettonico, sarei in grado di evitare questi picchi di latenza in scrittura se eseguissi il rollback del mio database su due istanze EC2 m1.large?
  • Esistono configurazioni che posso utilizzare che evitino questi picchi di latenza in scrittura pur continuando a ospitare il mio DB con RDS o sono effettivamente alla mercé di Amazon?

Domanda bonus: dove e come si ospita il database mysql?

Posso dire di essere stato generalmente soddisfatto di RDS ad eccezione di questi problemi di latenza di scrittura quotidiana. Adoro il monitoraggio del database integrato ed è stato abbastanza semplice da configurare e iniziare.

Grazie!

latenza di scrittura di Amazon RDS

Risposte:


78

Eseguiamo anche diverse istanze RDS, oltre a MySQL su alcune macchine che gestiamo noi stessi. Non posso commentare in modo specifico, poiché non sono un ingegnere Amazon, ma ho imparato diverse cose che potrebbero spiegare ciò che stai vedendo:

  • Sebbene Amazon non condivida al 100% i dettagli del backend, sospettiamo fortemente che stia utilizzando il proprio sistema EBS per supportare i database RDS.

  • Questo articolo aiuta a spiegare i limiti di EBS e la funzionalità snapshot http://blog.rightscale.com/2008/08/20/amazon-ebs-explained/ Anche in questo caso, anche se non è esplicito, sarebbe logico che Amazon utilizzasse questa infrastruttura per fornire servizi RDS.

  • In genere, un backup di MySQL, a differenza di un'istantanea, implica l'utilizzo di uno strumento come mysqldump per creare un file di istruzioni SQL che riprodurrà quindi il database. Non è necessario congelare il database per eseguire questa operazione. Con un backend EBS, la best practice consiste nel congelare il database (sospendere tutte le transazioni) durante lo snapshot per evitare il danneggiamento dei dati.

  • I picchi che vedi alle estremità della finestra di backup. Se la replica viene sospesa da Amazon durante l'istantanea della replica, la replica dovrà quindi "recuperare" le transazioni quando l'istantanea è stata completata. Ciò causerebbe un picco di latenza.

  • La replica in una distribuzione multi-AZ è intrinsecamente più lenta rispetto a una singola distribuzione AZ. Il prezzo da pagare per una migliore ridondanza.


7
Posso confermare che Amazon RDS utilizza EBS come archivio di backup per i suoi database RDS. I grafici Latenza lettura e Latenza scrittura in RDS Cloudwatch descrivono efficacemente un'istanza EBS. Grazie per questa risposta, ha senso.
argento

1
Amazon condivide maggiori dettagli nella loro interruzione post mortem qui aws.amazon.com/message/65648
Joshua

@ Joshua hai qualche idea su questo argomento (in qualche modo correlato)? stackoverflow.com/questions/6799371/… Grazie!
esilver

se si utilizza una replica di lettura, ciò influirebbe sulla replica master?
Matej

1
La documentazione di AWS ora afferma che "Un breve blocco dell'I / O, in genere della durata di pochi secondi, si verifica durante i backup automatici e le operazioni di snapshot del database su istanze database Single-AZ". docs.aws.amazon.com/AmazonRDS/latest/UserGuide/…
baxang

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.