Compartilhar via


Alta disponibilidade no Banco de Dados do Azure para MariaDB

Importante

O Banco de Dados do Azure para MariaDB está a caminho da desativação. Recomendamos fortemente que você migre 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, confira 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 a execução de bancos de dados de missão crítica que exigem alto tempo de atividade. Ele fornece alta disponibilidade durante:

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

O Banco de Dados do Azure para MariaDB fornece um contrato de nível de serviço com garantia financeira para tempo de atividade. Como o serviço é baseado na arquitetura do Azure, você pode aproveitar seus recursos para alta disponibilidade, redundância e resiliência sem configurar nenhum componente adicional.

Componentes no Banco de Dados do Azure para MariaDB

Componente Descrição
Servidor de banco de dados MariaDB O Banco de Dados do Azure para MariaDB fornece segurança, isolamento, proteções de recursos e capacidade de reinicialização rápida para servidores de banco de dados. Esses recursos facilitam operações como a escala e a recuperação do servidor de banco de dados (em segundos) após uma interrupção.
Normalmente, as modificações nos servidores de dados ocorrem durante uma transação de um banco de dados. Todas as alterações de banco de dados são gravadas de maneira síncrona na forma de write-ahead logs (arquivos ib_log) no Armazenamento do Microsoft Azure, que está 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 Microsoft Azure, que armazena três cópias de dados em uma região para proporcionar redundância, disponibilidade e confiabilidade dos dados. A camada de armazenamento é independente do servidor de banco de dados. Ela pode ser desanexada de um servidor de banco de dados com falha e reanexada a um novo servidor de banco de dados em alguns segundos.
O Armazenamento do Microsoft Azure monitora continuamente as falhas de armazenamento. Se detectar dados corrompidos em um bloco, ele corrigirá automaticamente o problema criando uma instância de 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.

Mitigaçã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.

Diagrama da escala elástica no Banco de Dados do Azure para MariaDB.

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

Cenário Descrição
Escala vertical ou horizontal de computação Quando você executa uma operação de escala vertical ou horizontal da computação, o Banco de Dados do Azure para MariaDB provisiona um novo servidor de banco de dados usando a configuração de computação escalada. No servidor de banco de dados antigo, o serviço permite que os pontos de verificação ativos terminem, drena as conexões de clientes e cancela as 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 o anexa ao novo servidor de banco de dados. Quando o aplicativo cliente tenta se reconectar ou tenta fazer uma nova conexão, o gateway direciona a solicitação de conexão para o novo servidor de banco de dados.
Dimensionamento do armazenamento A escala vertical do armazenamento é uma operação online e não interrompe o servidor de banco de dados.
Implantação de software novo (Azure) Distribuição de novos recursos de ou correções de bugs ocorrem automaticamente como parte da manutenção planejada do serviço. Para saber mais, consulte a documentaçãoe confira o portal.
Atualizações secundárias de versão O Banco de Dados do Azure para MariaDB corrige automaticamente os servidores de banco de dados para a versão secundária que o Azure determina. A aplicação automática de patch ocorre como parte da manutenção planejada do serviço. Ela causa alguns segundos de tempo de inatividade e o servidor de banco de dados é reiniciado automaticamente com a nova versão secundária. Para saber mais, consulte a documentaçãoe confira o portal.

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

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

O mecanismo do MariaDB executa a operação de recuperação usando arquivos de log write-ahead e de banco de dados, e ele 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 um tempo de inatividade não planejado, o Banco de Dados do Azure para MariaDB reduz o tempo de inatividade realizando automaticamente operações de recuperação no servidor de banco de dados e nas camadas de armazenamento sem a necessidade de intervenção humana.

Diagrama da alta disponibilidade no Banco de Dados do Azure para 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 no servidor de banco de dados Se o servidor de banco de dados estiver inoperante devido à falha de um hardware subjacente, o Banco de Dados do Azure para MariaDB derrubará as conexões ativas e cancelará as transações em andamento. O serviço implanta automaticamente um novo servidor de banco de dados e anexa o armazenamento de dados remoto ao novo servidor de banco de dados. Depois que a recuperação do banco de dados for concluída, os clientes poderão se conectar ao novo servidor de banco de dados por meio do gateway.
Os aplicativos que usam os bancos de dados do MariaDB precisam ser criados de forma que detectem e repitam as conexões interrompidas e as transações que falharam. Quando o aplicativo repete a 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 dados corrompidos em um bloco, não afetam os aplicativos. Como os dados são armazenados em três cópias, o armazenamento remanescente fornece a cópia dos dados. O Banco de Dados do Azure para MariaDB corrige automaticamente os dados em blocos corrompidos. Se uma cópia dos dados for perdida, o serviço criará automaticamente uma nova cópia deles.

Aqui estão cenários de falha que necessitam da ação do usuário para serem recuperados:

Cenário Plano de recuperação
Falha de região A falha de uma região é um evento raro. No entanto, se precisar de proteção contra uma falha regional, você poderá configurar uma ou mais réplicas de leitura em outras regiões para recuperação de desastre. Para mais detalhes, confira este artigo, sobre como criar e gerenciar réplicas de leitura. Se ocorrer uma falha regional, você poderá promover manualmente uma réplica de leitura configurada em outra região para ser o servidor de banco de dados de produção.
Erros de usuário/lógicos A recuperação de erros causados pelo usuário, como tabelas descartadas por engano ou dados atualizados de modo incorreto, envolve a execução de uma recuperação pontual. Essa ação restaura e recupera os dados até o momento 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, poderá restaurar o servidor de banco de dados em uma nova instância, exportar as tabelas por meio do mysqldump e restaurar as 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 adicional dos dados, você pode configurar os backups para serem replicados geograficamente e implantar réplicas de leitura em outras regiões.

Próximas etapas