Como o Banco de Dados do Azure para MySQL funciona

Concluído

Nesta unidade, você vai explorar como funciona o Banco de Dados do Azure para MySQL, começando por sua arquitetura. Você também vai aprender como o serviço fornece alta disponibilidade, funcionalidade de backup e dimensionamento para atender às necessidades da sua carga de trabalho.

Arquitetura do Banco de Dados do Azure para MySQL

O diagrama a seguir descreve a arquitetura de uma instância do Banco de Dados do Azure para MySQL – Servidor Flexível.

Captura de tela de um diagrama de arquitetura detalhado do Banco de Dados do Azure para MySQL em uma organização típica, conforme descrito anteriormente.

  1. A instância do MySQL é executada em uma VM do Azure.
  2. Os dados e os logs são armazenados no Armazenamento Premium do Azure.
  3. Os dados são replicados três vezes no armazenamento com redundância local para backup e resiliência. O serviço também fornece opções para configurar backups de armazenamento com redundância de zona ou redundância geográfica.
  4. Além disso, você tem a opção de usar a mesma localização em seus vários aplicativos cliente conectados ao servidor flexível do MySQL, dentro da mesma zona de disponibilidade.

Você ainda pode optar pela alta disponibilidade com redundância de zona ou de mesma zona, que provisiona e mantém automaticamente uma réplica em espera.

Como a alta disponibilidade funciona

Para o Banco de Dados do Azure para MySQL – Servidor Flexível, dentro da zona de disponibilidade única, o seguinte processo ocorre após uma falha no servidor de hospedagem:

  1. O Azure provisiona uma nova máquina virtual (VM).
  2. O Azure mapeia o armazenamento e os arquivos de dados para a nova VM provisionada.
  3. O mecanismo de banco de dados MySQL é colocado online.
  4. Os aplicativos de clientes se reconectam à nova instância do MySQL.

Observação

Se você tiver provisionado alta disponibilidade entre zonas, um servidor em espera ativa será mantido em outra zona de disponibilidade na mesma região do Azure. Esse servidor é uma réplica do servidor primário totalmente sincronizada. Em caso de uma falha do servidor primário, o servidor em espera ativa pode assumir o controle rapidamente com um mínimo de interrupção, mantendo a disponibilidade do serviço.

Como os backups funcionam

Você pode usar backups para restaurar o servidor em qualquer ponto no tempo dentro do período de retenção (35 dias, ou até 10 anos na retenção de longo prazo, em versão prévia).

Como o dimensionamento funciona

O dimensionamento do Banco de Dados do Azure para MySQL envolve o ajuste dos recursos de computação de acordo com as necessidades do aplicativo, que podem flutuar com base na demanda do usuário, na complexidade das operações processadas ou em outros fatores, como o crescimento da empresa. Essa flexibilidade é crucial para manter um nível ideal de desempenho e economia.

Tipos de dimensionamento

  1. Escalonamento vertical (ampliação/redução)
    • Dimensionamento de computação: Refere-se à alteração do nível de computação da sua instância do servidor flexível MySQL. O Azure oferece vários níveis de computação, cada um projetado para atender a diferentes tipos de cargas de trabalho:
      • Com Capacidade de Intermitência: Adequado para ambientes com picos intermitentes de uso de CPU que não requerem um desempenho contínuo total da CPU.
      • Uso Geral: Projetado para uma ampla gama de aplicativos, fornece um equilíbrio entre recursos de computação, memória e E/S.
      • Comercialmente Crítico: Oferece o mais alto desempenho para bancos de dados, com CPUs mais poderosas e E/S mais rápidas, adequado para cargas de trabalho com alto número de transações e baixa latência.
    • Alocação de memória e CPU: Dependendo do nível que selecionou, você pode ampliar o número de vCores e a quantidade de RAM disponíveis para seu banco de dados, o que afeta diretamente a capacidade de lidar com consultas maiores ou mais complexas e permite um número maior de conexões simultâneas.
  2. Escalonamento horizontal
    • O Banco de Dados do Azure para MySQL pode ser escalonado horizontalmente com o acréscimo de réplicas de leitura para distribuir o tráfego de leitura entre vários servidores, aprimorando o desempenho de leitura e, ao mesmo tempo, mantendo o servidor primário disponível para gravações. O escalonamento horizontal permite que seu banco de dados manipule uma carga maior de consulta, aumentando a capacidade de resposta do aplicativo.
  3. Dimensionamento do armazenamento
    • Dimensionamento de armazenamento dinâmico: Com o Banco de Dados do Azure para MySQL, você pode aumentar a capacidade de armazenamento sem tempo de inatividade. Você pode começar com uma alocação menor e ampliá-la à medida que seus dados aumentarem.
    • Recurso de crescimento automático: Esse recurso aumenta automaticamente o tamanho do armazenamento antes de atingir o limite da capacidade, evitando interrupções relacionadas às restrições de armazenamento.

IOPS de dimensionamento automático

O IOPS (Operações de Entrada/Saída por Segundo) com Dimensionamento Automático é um recurso que ajusta dinamicamente a taxa de transferência de E/S com base na carga de trabalho atual. Isso é particularmente útil para padrões de carga de trabalho imprevisíveis ou propensos a picos, já que garante que o banco de dados possa lidar com aumentos de carga repentinos sem intervenção manual.

  • Dimensionamento de IOPS com base na carga: Quando a carga de trabalho aumenta e mais taxa de transferência de E/S é necessária, o recurso de Dimensionamento Automático aumenta automaticamente o limite de IOPS até o máximo permitido no nível de computação escolhido. Por outro lado, as IOPS são reduzidas durante períodos de baixa atividade para minimizar os custos.
  • Economia: Ao ajustar automaticamente o IOPS com base no uso real, você paga apenas pelo IOPS utilizado em vez de provisionar recursos em excesso para lidar com cargas de pico, o que talvez só ocorra esporadicamente.

Melhores práticas de dimensionamento

Para dimensionar o Banco de Dados do Azure para MySQL com eficácia, monitore as métricas de desempenho usando o Azure Monitor, configure alertas críticos, planeje o crescimento futuro revisando os padrões de uso e teste a escalabilidade durante os horários de baixa demanda para garantir um desempenho suave em condições de carga aumentada.

Ao entender e utilizar esses mecanismos de dimensionamento, você poderá garantir que seu servidor flexível Banco de Dados do Azure para MySQL esteja sempre funcionando com eficiência, adaptando-se às necessidades atuais e futuras da sua empresa.

Configurar e ajustar o comportamento do mecanismo

Para configurar e personalizar com facilidade os parâmetros e variáveis de servidor no Banco de Dados do Azure para MySQL, você pode usar o portal do Azure, a CLI do Azure ou a API REST para ajustar configurações como o tamanho do cache de consultas, tempos limite de conexão e preferências de mecanismo de armazenamento, garantindo um desempenho e comportamento ideais para a sua carga de trabalho específica.

Em seguida, reflita se o Banco de Dados do Azure para MySQL atende às necessidades da sua organização, seus aplicativos e cargas de trabalho de banco de dados.