Escolar Documentos
Profissional Documentos
Cultura Documentos
Servidor Principal (Master): É o servidor de banco de dados que contém a fonte principal dos
dados. Todas as alterações nos dados são feitas inicialmente no servidor principal.
Réplicas (Replicas): São servidores adicionais que mantêm cópias dos dados do servidor
principal. Existem vários tipos de réplicas, incluindo réplicas de leitura (para consulta), réplicas
de gravação (para escrita) e réplicas mistas (que suportam tanto leitura quanto gravação). As
réplicas podem estar em locais geográficos diferentes para fins de recuperação de desastres ou
distribuição geográfica de carga.
Consistência: Para manter a consistência dos dados em todas as réplicas, diferentes estratégias
de replicação podem ser utilizadas, como replicação síncrona (onde as alterações são
confirmadas apenas após serem replicadas para todas as réplicas) ou replicação assíncrona
(onde as alterações são replicadas posteriormente).
Failover: A replicação pode ser usada para fornecer alta disponibilidade. Se o servidor principal
falhar, uma das réplicas pode ser promovida a servidor principal para garantir que os serviços
de banco de dados permaneçam disponíveis.
Escalabilidade: A replicação também pode ser usada para distribuir a carga de trabalho entre
várias réplicas de leitura, melhorando o desempenho geral do sistema de banco de dados.
A replicação de banco de dados pode ser classificada em vários tipos com base na direção da
replicação e no fluxo de dados entre os servidores. Alguns dos tipos mais comuns de replicação
incluem:
Replicação Unidirecional:
• Mestre-para-Escravo (Master-Slave): Nesse tipo de replicação, o servidor principal
(mestre) envia todas as atualizações para um ou mais servidores secundários
(escravos). Os servidores escravos são apenas para leitura e não podem fazer
alterações nos dados. Essa configuração é comumente usada para melhorar o
desempenho de leitura e a disponibilidade. Exemplo: MySQL com replicação mestre-
escravo.
Replicação Bidirecional:
Mestre-Mestre (Master-Master):
• Nesse tipo de replicação, dois ou mais servidores atuam como mestres e escravos ao
mesmo tempo. Isso permite que ambos os servidores façam gravações e leituras. As
atualizações feitas em um mestre são replicadas para o outro, e vice-versa. Isso é útil
para alta disponibilidade e balanceamento de carga. Exemplo: PostgreSQL com
replicação mestre-mestre.
• Replicação em Cascata (Cascade Replication):
• Vários servidores estão interconectados e podem trocar dados diretamente uns com os
outros. Isso é útil quando você tem várias localizações ou data centers e deseja que
todos os servidores estejam sincronizados entre si. Exemplo: Couchbase Server com
replicação ponto a ponto.
• Replicação de Dados Distribuídos (Distributed Data Replication):
Balanceamento de Carga:
• Projetos que experimentam picos de tráfego ou que têm uma carga de leitura
significativa podem usar réplicas de leitura para distribuir a carga e melhorar o
desempenho. Isso é comum em aplicativos da web, redes sociais e aplicativos de
análise de dados em tempo real.
Recuperação de Desastres:
Escalabilidade Horizontal:
Relatórios e Análises:
• Projetos que precisam de baixa latência em várias regiões geográficas podem usar a
replicação para manter cópias locais dos dados em servidores próximos aos usuários
finais. Isso é comum em aplicativos de jogos online e serviços de entrega de conteúdo.