DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da SQL Magazine DIGITAL
ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!

Artigo SQL Magazine 32 - 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: a ocorrência de uma falha pode acarretar um erro, que é a representação da falha no universo computacional. Um computador trabalha com bits, cada um podendo conter 0 ou 1. Uma falha pode fazer com que um (ou mais de um) bit troque de valor inesperadamente, o que certamente afetará o funcionamento normal do computador. Uma falha, portanto, pode gerar um erro em alguma informação.

·         Defeito: já esta informação errônea (erro), se não for percebida e tratada, poderá gerar o que se conhece por defeito. O sistema simplesmente trava, mostra uma mensagem de erro, ou ainda perde os dados do usuário sem maiores avisos. Isto é percebido no universo do usuário.

 

"

A exibição deste artigo foi interrompida.

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da SQL Magazine DIGITAL
ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


Carlos Eduardo Smanioto
Carlos Eduardo Smanioto www.datapower.com.br carlos.smanioto@datapower.com.br Formado em Ciências da Computação, é consultor na área de T.I. Atua a mais de 10 anos com banco de dados PostgreSQL e segurança da informação, possui em seu mini-bio diversos artigos, palestras realizadas. Trabalha com...
O que você achou deste post?

    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!
Cursos relacionados
Publicidade
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2013 - Todos os Direitos Reservados a web-03