Partilhar via


Alta disponibilidade no Banco de Dados do Azure para MariaDB

Importante

O Banco de Dados do Azure para MariaDB está no caminho da aposentadoria. É altamente recomendável migrar para o Banco de Dados do Azure para MySQL. Para obter mais informações sobre como migrar para o Banco de Dados do Azure para MySQL, consulte O que está acontecendo com o Banco de Dados do Azure para MariaDB?.

O serviço Banco de Dados do Azure para MariaDB é adequado para executar bancos de dados de missão crítica que exigem alto tempo de atividade. Proporciona alta disponibilidade durante:

  • Eventos planejados, como operações de computação em escala iniciadas pelo usuário.
  • Eventos não planejados, como falhas subjacentes de hardware, software ou rede.

O Banco de Dados do Azure para MariaDB fornece um contrato de nível de serviço com suporte financeiro para tempo de atividade. Como o serviço é criado na arquitetura do Azure, você pode aproveitar seus recursos de alta disponibilidade, redundância e resiliência sem configurar componentes adicionais.

Componentes no Banco de Dados do Azure para MariaDB

Componente Description
Servidor de banco de dados MariaDB O Banco de Dados do Azure para MariaDB fornece segurança, isolamento, salvaguardas de recursos e capacidade de reinicialização rápida para servidores de banco de dados. Esses recursos facilitam operações como dimensionamento e recuperação do servidor de banco de dados (em segundos) após uma interrupção.
As modificações de dados no servidor de banco de dados normalmente ocorrem no contexto de uma transação de banco de dados. Todas as alterações de banco de dados são registradas de forma síncrona na forma de logs de gravação antecipada (arquivos ib_log ) no Armazenamento do Azure, que é anexado ao servidor de banco de dados. Durante o processo de ponto de verificação do banco de dados, as páginas de dados da memória do servidor de banco de dados também são liberadas para o armazenamento.
Armazenamento remoto Todos os arquivos de dados físicos e arquivos de log do MariaDB são armazenados no Armazenamento do Azure, que armazena três cópias de dados em uma região para fornecer redundância, disponibilidade e confiabilidade de dados. A camada de armazenamento é independente do servidor de banco de dados. Ele pode ser desanexado de um servidor de banco de dados com falha e reanexado a um novo servidor de banco de dados em poucos segundos.
O Armazenamento do Azure monitoriza continuamente quaisquer falhas de armazenamento. Se detetar uma corrupção de bloco, ele corrige automaticamente o problema instanciando uma nova cópia de armazenamento.
Gateway O gateway atua como um proxy de banco de dados roteando todas as conexões de cliente para o servidor de banco de dados.

Redução do tempo de inatividade planejado

A arquitetura do Banco de Dados do Azure para MariaDB fornece alta disponibilidade durante operações de tempo de inatividade planejadas.

Diagram of elastic scaling in Azure Database for MariaDB.

Aqui estão alguns cenários para manutenção planejada:

Cenário Description
Calcular scale-up ou scale-down Quando você executa uma operação de computação scale-up ou scale-down, o Banco de Dados do Azure para MariaDB provisiona um novo servidor de banco de dados usando a configuração de computação dimensionada. No servidor de banco de dados antigo, o serviço permite que os pontos de verificação ativos sejam concluídos, drena as conexões do cliente e cancela quaisquer transações não confirmadas. Em seguida, o serviço desliga o servidor de banco de dados antigo. Ele desanexa o armazenamento do servidor de banco de dados antigo e anexa o armazenamento ao novo servidor de banco de dados. Quando o aplicativo cliente tenta novamente a conexão ou tenta fazer uma nova conexão, o gateway direciona a solicitação de conexão para o novo servidor de banco de dados.
Ampliação do armazenamento Dimensionar o armazenamento é uma operação online e não interrompe o servidor de banco de dados.
Nova implantação de software (Azure) Lançamentos de novos recursos ou correções de bugs acontecem automaticamente como parte da manutenção planejada do serviço. Para mais informações, consulte a documentação e consulte o seu portal.
Atualizações de versões secundárias O Banco de Dados do Azure para MariaDB aplica patches automaticamente aos servidores de banco de dados para a versão secundária determinada pelo Azure. A correção automática acontece como parte da manutenção planejada do serviço. Ele incorre em um curto tempo de inatividade em termos de segundos, e o servidor de banco de dados é reiniciado automaticamente com a nova versão secundária. Para mais informações, consulte a documentação e consulte o seu portal.

Redução do tempo de inatividade não planejado

O tempo de inatividade não planejado pode ocorrer como resultado de falhas imprevistas, incluindo falhas de hardware subjacentes, problemas de rede e bugs de software. Se o servidor de bases de dados ficar indisponível inesperadamente, um novo servidor de bases de dados será disponibilizado automaticamente em poucos segundos. O armazenamento remoto é automaticamente anexado ao novo servidor de bases de dados.

O mecanismo MariaDB executa a operação de recuperação usando arquivos de log e banco de dados write-ahead e abre o servidor de banco de dados para permitir que os clientes se conectem. As transações não confirmadas são perdidas e o aplicativo deve repeti-las.

Embora você não possa evitar o tempo de inatividade não planejado, o Banco de Dados do Azure para MariaDB o atenua executando automaticamente operações de recuperação no servidor de banco de dados e nas camadas de armazenamento sem exigir intervenção humana.

Diagram of high availability in Azure Database for MariaDB.

Tempo de inatividade não planejado: cenários de falha e recuperação de serviço

Aqui estão dois cenários de falha e como o Banco de Dados do Azure para MariaDB se recupera automaticamente:

Cenário Recuperação automática
Falha do servidor de banco de dados Se o servidor de banco de dados estiver inativo devido a uma falha de hardware subjacente, o Banco de Dados do Azure para MariaDB descartará conexões ativas e cancelará todas as transações de bordo. O serviço implanta automaticamente um novo servidor de banco de dados e anexa o armazenamento remoto de dados ao novo servidor de banco de dados. Após a conclusão da recuperação do banco de dados, os clientes podem se conectar ao novo servidor de banco de dados por meio do gateway.
Os aplicativos que usam os bancos de dados MariaDB precisam ser criados de forma a detetar e repetir conexões descartadas e transações com falha. Quando o aplicativo tenta novamente uma conexão, o gateway redireciona a conexão de forma transparente para o servidor de banco de dados recém-criado.
Falha de armazenamento Problemas relacionados ao armazenamento, como uma falha de disco ou uma corrupção de bloco físico, não afetam os aplicativos. Como os dados são armazenados em três cópias, o armazenamento sobrevivente serve a cópia dos dados. O Banco de Dados do Azure para MariaDB corrige automaticamente as corrupções de bloco. Se uma cópia dos dados for perdida, o serviço criará automaticamente uma nova cópia dos dados.

Aqui estão os cenários de falha que exigem ação do usuário para se recuperar:

Cenário Plano de Recuperação
Falha de região O fracasso de uma região é um evento raro. No entanto, se precisar de proteção contra uma falha de região, você pode configurar uma ou mais réplicas de leitura em outras regiões para recuperação de desastres. Para obter detalhes, consulte este artigo sobre como criar e gerenciar réplicas de leitura. Se ocorrer uma falha no nível da região, você poderá promover manualmente uma réplica de leitura configurada em outra região para ser seu servidor de banco de dados de produção.
Erro lógico/do utilizador A recuperação de erros do usuário, como tabelas descartadas acidentalmente ou dados atualizados incorretamente, envolve a execução de uma recuperação point-in-time. Essa ação restaura e recupera os dados até o momento imediatamente anterior à ocorrência do erro.
Se você quiser restaurar apenas um subconjunto de bancos de dados ou tabelas específicas em vez de todos os bancos de dados no servidor de banco de dados, você pode restaurar o servidor de banco de dados em uma nova instância, exportar as tabelas via mysqldump e, em seguida , restaurar essas tabelas em seu banco de dados.

Resumo

O Banco de Dados do Azure para MariaDB tem recursos inerentes de alta disponibilidade para ajudar a proteger seus bancos de dados contra interrupções comuns. Ele fornece capacidade de reinicialização rápida de servidores de banco de dados, armazenamento redundante e roteamento eficiente do gateway. Para proteção de dados adicional, você pode configurar backups para serem replicados geograficamente e implantar réplicas de leitura em outras regiões.

Próximos passos