Replicação e alta disponibilidade no PostgreSQL

Artigo da Revista SQL Magazine -Edição 32.

Atenção: por essa edição ser muito antiga não há arquivo PDF para download.
Os artigos dessa edição estão disponíveis somente através do formato HTML.

Clique aqui para ler todos os artigos desta edição

Replicação e alta disponibilidade no PostgreSQL

 

Disponibilidade é a característica de um sistema computacional que permite garantir a continuidade de serviços prestados por um determinado agente. O exemplo mais simples seria imaginar o uso de um computador “reserva”; caso um queime, terei o outro disponível para continuar uma determinada operação.

A alta disponibilidade surgiu para garantir a operacionalidade de soluções de missão crítica, ou  seja, operações computacionais que não podem ser interrompidas. Antes de analisarmos com calma o que seria alta disponibilidade, veremos rapidamente alguns outros conceitos sobre disponibilidade.

Calculando a disponibilidade de um sistema

Disponibilidade é a probabilidade de um sistema estar disponível quando necessário.  Disponibilidade pode ser determinada pela relação:

 

Disponibilidade = ((MTTF)/(MTTF + MTTR)).100%

 

Onde:

·        MTTF (Mean Time to Failure) é o tempo médio até a ocorrência de falha.

·        MTTR (Mean Time to Repair) é o tempo médio de reparo.

 

Por exemplo, para:

MTTF = 300 horas

MTTR =  9 horas

 

Disponibilidade =  (300/(300+9)).100%

Disponibilidade =  (300/309).100%

Disponibilidade = 0,97.100%

Disponibilidade  = 97%

 

Em outras palavras, este sistema funciona em torno de 12 dias, acontece uma falha e para retorná-lo, levaríamos 9 horas.

Existem três níveis de disponibilidade: básica, alta e contínua.

Disponibilidade básica

Este nível de disponibilidade é encontrado em um computador comum que não possui nenhum mecanismo anti-falhas. Neste nível, estima-se que uma máquina comum poderá ter uma disponibilidade de 99,9% (se estiver em condições idéias para o funcionamento: aterramento, estabilizadores e todo o cuidado básico). Para ser considerado de disponibilidade básica, o sistema poderia ficar indisponível por um período mínimo de 9 horas e máximo de quatro dias, sendo que estes valores não consideram a possibilidade de paradas planejadas.

Para garantir o nível de disponibilidade básica é necessário um bom aterramento, no-break (no mínimo um estabilizador) e utilizar as ferramentas de diagnóstico do sistema operacional. Ou seja, todo o cuidado básico para que o computador não pare por algum problema qualquer ocasionado por falta de manutenção preventiva.

Alta disponibilidade

A alta disponibilidade, ao contrário da básica, possui mecanismos que permitem a operacionalidade do sistema mesmo quando acontece uma falha. Esses mecanismos podem ser implementados via hardware ou software e são especializados tanto no detectar de uma falha quanto na recuperação do serviço a fim de que a falha se torne “invisível” para o cliente.

Nesta classe, as máquinas, apresentam disponibilidade na faixa de 99,99% a 99,999%, podendo ficar indisponíveis por um período entre 5 minutos e uma hora em um ano de operação.

Disponibilidade contínua

Acima de 99,999% encontramos o nível máximo que chamamos de disponibilidade contínua. Este nível é muito próximo dos 100%, a ponto de que o tempo de inoperância do sistema deve estar abaixo dos 60 segundos por ano ou inexistente.

Neste nível, temos que todas as paradas planejadas e não planejadas são mascaradas, e o sistema está sempre disponível.

Glossário rápido

Neste ponto, é importante definirmos alguns conceitos relacionados à disponibilidade antes de darmos continuidade à matéria:

·        Falha: uma falha acontece no universo físico, ou seja, no nível mais baixo do hardware. Uma flutuação da fonte de alimentação, por exemplo, é uma falha.

·        Erro"

[...] continue lendo...

Artigos relacionados