Recuperação de Dados em Tempo Real com PITR e BARMAN no Postgres

Recuperação de Dados em Tempo Real com PITR e BARMAN no Postgres

O backup PITR(Point-In-Time-Recovery) que é uma ferramenta que permite um arquivamento contínuo das transações ocorridas no banco, para que seja possível a recuperação de qualquer posição dos dados desde o momento que foi executado o backup até o presente momento. Isso é possível no Postgres com o arquivamento dos arquivos de write ahead log (WAL) .

Esses arquivos WAL são logs de transações adiantadas que registram todas as transações executadas no banco, antes que os dados serem alterados no disco, ou seja, quando é executado uma transação no banco postgresql, a string que escreveu essa transação é primeiramente registrada no wal, e posteriormente é escrita no shared buffers do banco, que utilizando os mecanismo de escrita em disco, persiste essa alteração de dados no disco, conforme diagrama  abaixo:

PITR 01

Com a execução de um backup full, estabelecemos o momento inicial do nosso arquivamento continuo, e partir desse ponto, temos como recuperar os dados no tempo em qualquer momento. Para isso, basta executar um comando no banco, que registra o inicio do backup, e quando o backup finalizar, executamos outro comando que registra o fim do backup.

 A partir desse ponto, estamos executando o arquivamento dos arquivos de wal e temos uma solução completa de backup, inclusive permitindo o restore desse backup em um outro banco ou servidor, bastando apenas um arquivo de recovery para a completa restauração do banco. Segue diagrama para um melhor entendimento de uma recuperação de uma tabela que foi corrompida:

PITR 02

PITR com BARMAN

O BARMAN é uma ferramenta free que implementa a administração e execução de backup centralizado tudo num único servidor, ele utiliza o PITR para fazer o backup dos bancos, também pode ser utilizado para arquivar os arquivos de WAL economizando espaço no disco do servidor de banco, garantindo uma melhor administração dos backup’s de um conjunto de bancos, já que acessando apenas o BARMAN, é possível ter uma visão global de todos os backups. Ele é simples de instalar e de acessar, sendo necessário apenas comunicação com chave para acesso as bancos sem senha, segue diagrama do seu funcionamento:

PITR 03 Outras vantagens que temos ao implementar o BARMAN é que o backup do banco será feito online, com a implementação de novos servidores com pequena janela de downtime, recovery remoto, restauração de backup’s em outra maquina sem a necessidade de instalação de qualquer tipo de aplicação, a não ser o banco PostgreSQL.

Anterior Aprenda Docker e Openshift na versão mais recente com a 4Linux
Próxima Guia Prático: Como Configurar um Cluster de OpenShift Origin

About author

Miqueias Rocha
Miqueias Rocha 1 posts

DBA e instrutor na 4Linux com experiência em Oracle, SQL Server, MySQL e PostgreSQL.

View all posts by this author →

Você pode gostar também

Treinamentos

Descubra o mundo da Cloud Computing com o curso gratuito da 4Linux

Cloud Computing, ou computação em nuvem, é a entrega sob demanda de recursos de TI via internet com preços pré-pagos. Ao invés de comprar, possuir e manter centros de dados

Cloud

Como versionar sua infraestrutura com Terraform e GitLab

Deixando um pouco o assunto sobre Corona Vírus de lado, chegamos ao penúltimo post da nossa série de postagens sobre Terraform. Aqui iremos falar sobre como versionar sua infraestrutura utilizando

Infraestrutura TI

Workshop Infraestrutura Ágil: Conheça as ferramentas DevOps da 4Linux

No dia 10/11/2016, aconteceu na sede da 4linux em São Paulo o workshop “Infraestrutura Ágil”. A procura foi grande pois o público estava muito interessado em ouvir sobre  DOCKER, GIT,