O que é replicação de base de dados


Acesso a dados sem replicação

Imagine que tem uma aplicação web que está a ganhar popularidade, isto aumenta muito o volume de dados e multiplica a carga da consulta. Estes sinais tornam a sua base de dados vulnerável a falhas.

Pense, então, nos custos associados a uma interrupção de serviço, que podem ser consideravelmente elevados.

Deste exemplo, a necessidade de continuidade de serviço e disponibilidade de base de dados torna-se primordial.

Vemos que o acesso aos dados sem replicação resulta em:

  • DBMS overhead.
  • Degradação do tempo de resposta.
  • Alta tolerância a falhas.

O que é replicação de base de dados?

A fim de assegurar a continuidade do serviço das aplicações em caso de falha ou desastre, os dados devem ser replicados.

Replicação é um processo de cópia dos dados de volta para múltiplos servidores.

Os servidores replicados são de dois tipos: o mestre, que contém os dados de referência, e o escravo, que dele provém.

A produção consiste num único servidor mestre e um ou mais servidores escravos. Enquanto em teoria não há limite para o número de escravos, na prática as restrições são económicas e físicas.

Ainda as alterações de dados devem ser feitas no mestre porque a informação só pode fluir de uma forma, do mestre para o escravo.

Cautela: uma réplica não pode ser considerada como backup

O que é uma réplica síncrona?

Uma réplica pode ser síncrona: um servidor A envia dados para um servidor B e tem de esperar que este último termine o seu processamento e avisá-lo enviando um aviso de recepção, para que possa continuar. Em caso de catástrofe num sítio, a perda de dados é portanto mínima a nula.

O que é a replicação assíncrona?

Uma replicação também pode ser assíncrona: neste caso, o servidor A envia dados para um servidor B e não espera que uma resposta do servidor B continue.

Como pode a replicação melhorar a tolerância a falhas?

Em caso de falha do servidor activo, a aplicação pode ser mudada para o servidor passivo. Isto assegura a continuidade do serviço.

Como a replicação pode melhorar o equilíbrio da carga e o melhor tempo de resposta?

Esta é a capacidade de assumir uma carga maior de pedidos lidos, espalhando-a por múltiplos escravos. Nenhum benefício para pedidos de escrita porque todos têm de ser feitos no master.

Princípio

O princípio da replicação, que envolve pelo menos dois SGBD, é bastante simples e tem lugar em três passos:

  1. A base de dados master recebe uma ordem de actualização (INSERT, UPDATE ou DELETE).
  2. As alterações feitas aos dados são detectadas e armazenadas para propagação.
  3. Um processo de replicação encarrega-se de propagar as alterações a serem feitas a uma segunda base dita escrava. Pode haver mais do que uma base de escravos.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *