Como o backup / instantâneo do Amazon RDS realmente funciona?

94

Sou um cliente do Amazon RDS e estou tendo picos diários de latência de gravação do Amazon RDS, correspondendo aproximadamente à janela de backup. Também verei picos no final de um instantâneo (caso em questão: a execução de um instantâneo leva cerca de 1 hora e, nos últimos 5 minutos, picos de latência de gravação). Estou executando uma implantação multi-AZ m1.large.

Há alguém no Stack que pode explicar como o backup do Amazon RDS está realmente funcionando? Eu li a documentação do Amazon RDS e, pelo que posso dizer, o Amazon RDS não está se comportando de acordo com as especificações. Especificamente, essas operações de backup / instantâneo devem atingir minha réplica e, portanto, não causar nenhum impacto de tempo de inatividade / desempenho, ou assim pensei.

Posso resumir meu problema em seis perguntas:

  • O que está acontecendo tecnicamente durante um instantâneo e um backup e como eles são diferentes? (Se você responder a esta pergunta, diga-me se é capaz de confirmar empiricamente a sua resposta ou está apenas citando a documentação).
  • É esperado um pico na latência de gravação durante a janela de backup em uma implantação multi-AZ?
  • É esperado um aumento na latência de gravação no final de um instantâneo em uma implantação multi-AZ?
  • Meu pico de latência de gravação seria ainda maior se eu não fosse multi-AZ?
  • Arquitetonicamente, eu seria capaz de evitar esses picos de latência de gravação se rodasse meu próprio banco de dados em duas instâncias m1.large EC2?
  • Posso usar alguma configuração que evite esses picos de latência de gravação enquanto ainda hospedo meu banco de dados com RDS, ou estou efetivamente à mercê da Amazon?

Pergunta bônus: onde e como você hospeda seu banco de dados mysql?

Posso dizer que, no geral, estou satisfeito com o RDS, exceto por esses problemas diários de latência de gravação. Eu amo o monitoramento de banco de dados embutido e era bastante simples de configurar e começar.

Obrigado!

latência de gravação RDS amazon

Esilver
fonte

Respostas:

78

Também executamos várias instâncias RDS, além do MySQL em algumas máquinas que gerenciamos por nós mesmos. Não posso comentar especificamente, porque não sou um engenheiro da Amazon, mas várias coisas que aprendi que podem explicar o que você está vendo:

  • Embora a Amazon não compartilhe os detalhes de back-end 100%, suspeitamos fortemente que eles estão usando seu sistema EBS para fazer backup de bancos de dados RDS.

  • Este artigo ajuda a explicar as limitações do EBS e a funcionalidade de instantâneo http://blog.rightscale.com/2008/08/20/amazon-ebs-explained/ Novamente, embora não seja explícito, faria sentido que a Amazon usasse essa infraestrutura para fornecer serviços RDS.

  • Normalmente, um backup do MySQL, em contraste com um instantâneo, envolve o uso de uma ferramenta como o mysqldump para criar um arquivo de instruções SQL que irá reproduzir o banco de dados. O banco de dados não precisa ser congelado para fazer isso. Com um back-end EBS, a prática recomendada é congelar o banco de dados (pausar todas as transações) enquanto você faz o instantâneo para evitar corrupção de dados.

  • Os picos que você está vendo nas extremidades da janela de backup. Se a replicação for pausada pela Amazon durante o instantâneo de sua réplica, a réplica precisará "recuperar o atraso" nas transações quando o instantâneo for concluído. Isso causaria um pico de latência.

  • A replicação em uma implantação multi-AZ é inerentemente mais lenta do que uma única implantação AZ. O preço que você paga por uma melhor redundância.

Joshua
fonte
7
Posso confirmar que o Amazon RDS está usando o EBS como armazenamento de apoio para seus bancos de dados RDS. Os gráficos Read Latency e Write Latency no RDS Cloudwatch estão efetivamente descrevendo uma instância EBS. Obrigado por esta resposta, faz sentido.
esilver
1
A Amazon compartilha mais detalhes sobre sua interrupção post mortem aqui aws.amazon.com/message/65648
Joshua
@Joshua, você tem alguma opinião sobre este tópico (relacionado)? stackoverflow.com/questions/6799371/… Obrigado!
esilver
se estiver usando uma réplica de leitura, isso afetaria a réplica master?
Matej
1
A documentação da AWS agora afirma que "Um breve congelamento de E / S, normalmente durando alguns segundos, ocorre durante backups automatizados e operações de instantâneo de banco de dados em instâncias de banco de dados AZ Único." docs.aws.amazon.com/AmazonRDS/latest/UserGuide/…
baxang