Banco de Dados

Replicação nativa no MySQL

Uma replicação ocorre quando um servidor envia seus dados — ou seus dados são puxados — de uma forma que outro servidor possa ter uma cópia fiel desses dados.
Replicação de dados

A IA está revolucionando a educação. 

Aprenda de um jeito diferente com o Jedai.ai

A 4Linux é especialista em Linux, Cloud e DevOps.

Já executamos +1.500 projetos com software open source. Venha fazer o seu projeto com a 4Linux.

  1. Binlog no Master:
    • Quando uma alteração (transação) é feita no banco de dados Master, essa alteração é registrada em um arquivo de log binário, conhecido como binlog (Binary Log). Esse arquivo é uma representação serializada das transações que foram realizadas no banco de dados.
  2. Transmissão dos Eventos:
    • Os Slaves conectam-se ao Master e solicitam as atualizações. O Master envia os eventos do binlog para os Slaves. Esses eventos incluem as mudanças realizadas nas tabelas e nos dados.
  3. Relay Log no Slave:
    • Quando um Slave recebe esses eventos, ele os grava em um arquivo local chamado relay log. Esse log é uma cópia temporária dos eventos que o Slave precisa aplicar ao seu próprio banco de dados.
  4. Aplicação dos Eventos no Slave:
    • O Slave lê os eventos do relay log e aplica as mudanças no seu próprio banco de dados, replicando as alterações realizadas no Master. Isso garante que o banco de dados Slave fique em sincronia com o Master.

Somos especialistas em implementar soluções de Banco de Dados e Open Source

Desde a definição de arquitetura, planejamento de capacidade até o mentoring da equipe.

  1. Alta Disponibilidade:
    • Em caso de falha no Master, um dos Slaves pode ser promovido a Master, garantindo que o serviço continue disponível.
  2. Escalabilidade de Leitura:
    • Em ambientes onde há muitas operações de leitura, essas podem ser distribuídas entre os Slaves, aliviando a carga do Master.
  3. Backup e Recuperação:
    • Slaves podem ser usados para realizar backups, sem impactar o desempenho do Master.
  4. Testes e Desenvolvimento:
    • Um Slave pode ser usado como ambiente de teste, para rodar queries e verificações sem impactar o banco de dados de produção.
  1. Replicação Assíncrona:
    • O tipo padrão de replicação no MySQL. O Slave não precisa confirmar a aplicação de um evento antes que o Master possa continuar seu trabalho. Isso pode levar a um pequeno atraso entre a aplicação de uma transação no Master e sua replicação no Slave.
  2. Replicação Semi-Síncrona:
    • Oferece um equilíbrio entre desempenho e consistência. O Master aguarda a confirmação de que pelo menos um Slave recebeu e gravou os dados no relay log antes de prosseguir.
  3. Replicação Síncrona:
    • Não é nativamente suportada pelo MySQL, mas pode ser implementada com o uso de ferramentas externas (Galera Cluster, Percona XtraDB Cluster, NDB Cluster, por exemplo ). Nesta abordagem, o Master aguarda a confirmação de que todas as alterações foram aplicadas em todos os Slaves antes de confirmar a transação. Isso garante consistência completa, mas pode impactar o desempenho.
  • Lag de Replicação: O tempo entre quando uma alteração é feita no Master e quando ela é replicada no Slave. Em replicações assíncronas, um pequeno lag é comum.
  • Configuração de Senhas e Acessos: A comunicação entre Master e Slave precisa ser segura e bem configurada, com as permissões corretas para replicação.
  • Gerenciamento de Failover: Em caso de falha do Master, a promoção de um Slave a Master deve ser cuidadosamente gerenciada.
plugins premium WordPress
Telegram logo
Whatsapp Logo

Você ganhou totalmente gratuito um curso da categoria Starter da 4Linux! São 9 opções de cursos para você escolher!

Cursos com 20h de conteúdo prático e certificado de conclusão para você dar uma upgrade na sua carreira.

Preencha o formulário ao lado e você receberá em até 24hr o e-mail com os dados de acesso ao conteúdo.