O que é replicação de dados?
Esta página abordará o seguinte para ajudá-lo a entender melhor a replicação de dados:
- Termos de replicação de dados
- Benefícios da replicação de dados
- Desafios da replicação de dados
- Replicação de dados em RDBMS
- Conclusão
A replicação de dados é o processo de copiar um ou mais registros de um lugar para outro. Esses locais podem ser muito semelhantes (como a cópia de arquivos dentro do mesmo banco de dados) ou mais distintos (como a cópia de dados de um banco de dados para outro). O termo replicação de dados normalmente implica manter os dados atualizados da origem ao destino, mas a velocidade e o nível de automação da replicação podem afetar a consistência dos dados.
Termos de replicação de dados
Aqui está uma lista de termos comuns para ajudá-lo a entender a replicação de dados:
Unidirecional versus bidirecional: Uma relação unidirecional significa que os dados fluem apenas de uma origem para um destino. Uma relação bidirecional significa que os dados fluem em ambos os sentidos.
Ativo-ativo versus ativo-passivo: Um ativo-ativo O cluster ativo-passivo distribui uniformemente as cargas entre todos os nós em todos os momentos. Por outro lado, um cluster ativo-passivo tem um nó de backup que assume o controle somente se o nó ativo estiver sobrecarregado.
Síncrono versus assíncrono: A replicação síncrona grava dados simultaneamente no nó primário e na réplica. A replicação assíncrona grava dados primeiro no nó primário e depois os copia para a réplica.
Processamento em lote versus processamento em tempo real: O processamento em lote coleta e processa dados em grupos ou lotes em intervalos programados e, normalmente, é adequado para lidar com grandes volumes de dados. O processamento em tempo real trata os dados à medida que são gerados ou recebidos, o que o torna adequado para aplicativos sensíveis ao tempo.
Incremental versus completo: A replicação incremental de dados significa que você replica apenas os elementos atualizados de um registro. Replicação completa de dados significa que você replica o registro inteiro quando seus elementos são alterados.
Filtrado: Os dados de uma fonte podem ser filtrados para que apenas um subconjunto ou uma seleção específica dos dados seja replicada em um destino.
Transformado: A transformação de dados é o processo de conversão de dados de um formato ou estrutura para outro, a fim de colocá-los no formato e na estrutura corretos para análise, geração de relatórios ou armazenamento em seu destino.
Benefícios da replicação de dados
A replicação de dados tem muitos usos e benefícios. Isso inclui:
Alta disponibilidade (HA): A manutenção de cópias atualizadas de dados em vários locais evita a perda de dados em caso de falhas. Normalmente, a replicação em tempo real é unidirecional e ocorre entre uma origem e uma ou mais réplicas. Se a origem ficar indisponível, uma das réplicas assume o controle, geralmente de forma automática.
Recuperação de desastres (DR): Intimamente relacionada à HA, a recuperação de desastres garante que as cópias de seus dados estejam disponíveis em caso de desastre.
Dimensionamento da taxa de transferência: Esse processo usa várias cópias de dados para aumentar a capacidade de um sistema de lidar com solicitações. Normalmente, é usado para tráfego de leitura e menos comumente para tráfego de gravação.
Acesso secundário: Também conhecido como indexação, isso envolve replicar os dados para outro sistema para acessá-los de forma diferente. O segundo sistema pode estar dentro do mesmo banco de dados (no caso da indexação) ou pode ser externo. Dependendo das tecnologias em uso, um intermediário como o Kafka às vezes é necessário para transferir os dados entre uma fonte e um sistema externo.
Observação: excluímos intencionalmente o "backup" como um benefício da replicação de dados porque você não atualiza um backup com alterações. Um ponto importante a ser entendido é que a replicação de dados é suscetível à corrupção ou exclusão de dados no nível do aplicativo, enquanto os backups não são. Os backups não devem ser considerados um substituto para HA ou DR, nem HA ou DR devem substituir os backups.
Desafios da replicação de dados
Com qualquer estratégia de replicação de dados, você será forçado a fazer concessões entre:
- Velocidade
- Consistência, disponibilidade e tolerância à partição (o Teorema CAP)
- Uso e custo de recursos (RAM, disco, CPU, rede)
Por exemplo:
- A manutenção de várias réplicas aumenta a segurança de seus dados em caso de interrupções, mas resulta em maior uso e custo de recursos. O mesmo se aplica ao dimensionamento de leituras com várias réplicas.
- A replicação síncrona pode fazer com que as gravações de origem sejam mais lentas (ou falhem completamente). No entanto, a replicação assíncrona pode resultar em maior uso de recursos se você gravar registros mais rapidamente do que pode replicá-los. A replicação assíncrona também apresenta a possibilidade de discrepâncias entre os dados de origem e de destino, independentemente da rapidez ou da confiabilidade da tecnologia de replicação.
- A replicação incremental, filtrada e transformada pode resultar em menor uso de recursos de rede, mas esses tipos de replicação tendem a funcionar mais lentamente e exigem uma CPU de maior desempenho para a origem.
As práticas recomendadas para replicação de dados variam muito, dependendo dos requisitos do seu caso de uso e dos recursos das tecnologias que você está usando.
Replicação de dados em RDBMS
Cada tecnologia de banco de dados oferece diferentes recursos e opções para replicação de dados. Historicamente, os sistemas de gerenciamento de bancos de dados relacionais (RDBMS) replicam dados de uma instância de banco de dados para outra por meio do envio de logs, o que envolve o envio de dados de uma instância de banco de dados para outra depois de serem gravados no disco. Os bancos de dados mais novos, como o Couchbase banco de dados NoSQL, replica dados diretamente da RAM, aumentando significativamente a velocidade e a confiabilidade.
Conclusão
A replicação de dados é um conceito central que sustenta muitos recursos diferentes de banco de dados, e a replicação vem em muitas formas diferentes, com desafios e vantagens diferentes. A melhor opção de replicação de dados para a sua organização depende do que você precisa alcançar e das tecnologias que está usando.
Use esses recursos para saber mais sobre a replicação de dados e os recursos de replicação de dados do Couchbase:
Guia para replicação de dados na nuvem
Replicação de dados: Vantagens e desvantagens
Replicação e sincronização de dados no Couchbase
Replicação entre centros de dados (Couchbase Capella™)
Replicação entre centros de dados (Couchbase Server)
Serviços de Aplicativos Capella (BaaS)
Confira nosso hub de banco de dados para saber mais sobre outros conceitos-chave do gerenciamento de dados.