Visão Geral da Réplica de Leitura

As réplicas de leitura são cópias somente para leitura da instância principal MySQL do sistema de banco de dados na mesma região. Eles fornecem escalabilidade e maior desempenho para cargas de trabalho com leitura pesada. Eles ampliam as leituras, ou seja, reduzem a latência de consulta.

Observação

A réplica de leitura não é suportada em um sistema de BD Always Free.

As réplicas de leitura são iniciadas quando um sistema de banco de dados é iniciado, interrompidas quando o sistema de banco de dados é interrompido e excluídas quando o sistema de banco de dados é excluído. Cada réplica de leitura é atualizada automaticamente usando replicação assíncrona. Você pode criar réplicas de leitura em um sistema de banco de dados independente ou de alta disponibilidade. Não há suporte para réplicas de leitura em formas que tenham menos de 8 ECPUs ou menos de 4 OCPUs.

Você pode criar no máximo 18 réplicas de leitura em um sistema de banco de dados. Cada réplica de leitura tem seu próprio ponto final. Por exemplo, se você tiver cinco réplicas de leitura, terá cinco pontos finais, um ponto final para cada réplica de leitura. Se quiser executar um subconjunto de consultas na instância principal e descansar nas réplicas de leitura, configure o aplicativo de forma que ele use pontos finais apropriados.

Você pode estabelecer conexão com uma réplica de leitura da mesma forma que se conecta a um sistema de banco de dados - usando uma instância de computação, uma sessão bastion ou uma VPN. Consulte Conectando-se a um Sistema de Banco de Dados.

As réplicas de leitura podem ficar atrás da instância principal. Isso é medido pela métrica read replica lag. Dependendo da carga de trabalho em cada réplica de leitura, as réplicas de leitura podem exibir um atraso de réplica de leitura diferente. Mesmo que a carga de trabalho seja a mesma, réplicas de leitura podem exibir um atraso de réplica de leitura diferente, dependendo de seus recursos, como CPU e memória. Você pode criar alarmes para monitorar a métrica e notificá-lo quando as métricas atenderem aos acionadores especificados pelo alarme. Consulte Usando Métricas para Criar Alarmes.

O Serviço HeatWave executa a recuperação automática em qualquer réplica de leitura que tenha falhado. Durante a recuperação, a réplica de leitura é definida para o estado Updating e não pode aceitar conexões de cliente. Depois que a recuperação tiver sido bem-sucedida, a réplica de leitura será definida para o estado Active e se tornará operacional. Se uma réplica de leitura tiver falhado além da recuperação e não puder mais ser replicada do sistema de BD, a réplica de leitura será definida para o estado Needs Attention. Nesse caso, é necessário excluir a réplica de leitura e criar uma nova.

Se você alterar as definições de conta e seus privilégios (como a senha) no sistema de banco de dados associado, as alterações serão propagadas para as réplicas de leitura. Não é necessário alterar a senha em cada réplica de leitura.

Não é possível configurar uma réplica de leitura como o servidor de origem de uma replicação de saída; você só pode configurar um sistema de BD como o servidor de origem.

Uma réplica de leitura herda o certificado de segurança do sistema de banco de dados associado. Não é possível atualizar o certificado de segurança da réplica de leitura.

Herdar e Substituir

Por padrão, uma réplica de leitura herda a forma, a configuração e a versão do sistema de banco de dados. Você pode substituir essas propriedades em uma réplica de leitura para criar uma réplica de leitura com uma forma, configuração ou versão diferente em comparação com o sistema de banco de dados. Quando uma réplica de leitura herda uma propriedade do sistema de banco de dados, a alteração da propriedade no sistema de banco de dados também alterará a propriedade na réplica de leitura para o mesmo valor. Quando uma réplica de leitura substitui uma propriedade do sistema de banco de dados, a alteração da propriedade no sistema de banco de dados não afeta a propriedade da réplica de leitura.

Balanceador de Carga de Réplica de Leitura

Quando você cria a primeira réplica de leitura de um sistema de banco de dados, um balanceador de carga de réplica de leitura é criado automaticamente, o que distribui o tráfego de leitura entre as réplicas de leitura. Todas as réplicas de leitura dos mesmos sistemas de banco de dados são adicionadas como backend ao balanceador de carga. Se a criação do balanceador de carga de réplica de leitura falhar por algum motivo, a réplica de leitura não será criada. Um balanceador de carga de réplica de leitura só é excluído quando você exclui o sistema de banco de dados associado.

Um balanceador de carga de réplica de leitura tem um endereço IP privado e você não pode acessá-lo diretamente da internet. Você pode estabelecer conexão com o balanceador de carga de réplica de leitura de maneira semelhante à conexão com um sistema de banco de dados - usando uma instância de computação, uma sessão bastion ou uma VPN. Consulte Conectando-se a um Sistema de Banco de Dados.

  • Política do Balanceador de Carga de Réplica de Leitura: A política de distribuição de balanceamento de carga do balanceador de carga é baseada em um hash de 5 tuplas das informações de endereço IP, porta e protocolo IP de origem e destino. Essa política de hash de 5 tubos fornece afinidade de sessão dentro de uma determinada sessão TCP ou UDP, em que os pacotes na mesma sessão são direcionados ao mesmo servidor de backend por trás do balanceador de carga de rede.

    O balanceador de carga de réplica de leitura distribui conexões entre todas as réplicas de leitura ativas. Diferentes conexões podem ser distribuídas para diferentes réplicas de leitura, mas todas as consultas emitidas pela mesma conexão são sempre encaminhadas para a mesma réplica de leitura.

  • Timeout de Conexões Ociosas: O balanceador de carga rastreia o estado de todos os fluxos TCP que passam por ele. Uma combinação de protocolo IP e endereços IP e portas de origem e destino definem um fluxo. O fluxo poderá ser removido se nenhum tráfego for recebido do cliente ou do servidor por mais tempo que o timeout de inatividade. Todos os pacotes TCP recebidos após o timeout de inatividade são eliminados. A duração do timeout de inatividade para fluxos TCP é de oito horas. Não é possível alterar a duração do timeout de inatividade. Se a conexão não estiver sendo usada no momento e você quiser manter a conexão ativa, defina o TCP keep-alive no cliente, que envia os pacotes TCP keep-alive para manter a conexão ativa.
    Observação

    Todos os balanceadores de carga de réplica de leitura criados antes de 10 de outubro de 2023 têm um timeout de inatividade padrão de seis minutos. Se você quiser aumentar o tempo limite de inatividade para oito horas, entre em contato com o Suporte Técnico da Oracle.

Um balanceador de carga de réplica de leitura lida com os vários estados da réplica de leitura da seguinte maneira:

  • Falha ou precisa do estado de atenção: Se a réplica de leitura estiver no estado de falha ou precisar de atenção, o balanceador de carga removerá a réplica de leitura do backend.
  • Estado inativo: Se a réplica de leitura estiver no estado inativo, o balanceador de carga não roteará o tráfego para ele.
  • Estado ativo: Se a réplica de leitura estiver no estado ativo, o balanceador de carga roteará o tráfego para ela.

Requisitos de Endereço IP

Se um sistema de banco de dados independente tiver 18 réplicas de leitura, a sub-rede na qual o sistema de banco de dados está presente exigirá o seguinte número de endereços IP:

  • Um para o ponto final do sistema de banco de dados. As conexões feitas com este ponto final podem executar operações de leitura e gravação. As operações de leitura sempre retornam dados atualizados.
  • 18 para os 18 pontos finais da réplica de leitura. As conexões feitas com qualquer um desses pontos finais podem executar operações somente leitura. As operações de leitura podem retornar dados um pouco desatualizados, dependendo do atraso de replicação.
  • Um para o ponto final do balanceador de carga de réplica de leitura. As conexões feitas com este ponto final são distribuídas entre réplicas de leitura ativas.

Tópicos Relacionados