Replicação com Bucardo

Bucardo é um sistema de replicação para PostgreSQL que fornece recursos tanto master-master e master-slave. Ele é assíncrono e baseado em trigger. Seus principais objetivos são fornecer replicação master-master para balanceamento de carga e failover, e para fornecer balanceamento de carga e armazenamento de dados via replicação master-slave. Faz leitura e escrita escaladas, e é ativado por trigger’s, não sendo necessário alterar o core do postgresql.

No ubuntu, o bucardo fica localizado no repositório e com um apt-get install já é possível instalá-lo, já no CentOS o mesmo deve ser compilado.
Casos de Uso

Alguns casos de uso onde o Bucardo se encaixa perfeitamente:

  • Load balancing com slaves
  • Data warehousing com slaves
  • Escrita em até dois master’s
  • Atualização de uma versão para outra
  • Replicação Parcial ou por demanda
Inconvenientes

Apesar do bucardo oferecer um mundo de coisas, existem alguns inconvenientes:

  • Não manuseia DDL
  • Não manuseia Objetos Grandes
  • Todas as tabelas devem ter chave primária
Conclusão

No vídeo abaixo, eu faço uma demonstração de como trabalhar com o bucardo.