PostgreSQL Ha
-
Upload
diogo-biazus -
Category
Technology
-
view
1.830 -
download
2
description
Transcript of PostgreSQL Ha
![Page 1: PostgreSQL Ha](https://reader031.fdocuments.net/reader031/viewer/2022020115/549231bfac795934288b46fa/html5/thumbnails/1.jpg)
PostgreSQL HA
Não existe bala de prata
![Page 2: PostgreSQL Ha](https://reader031.fdocuments.net/reader031/viewer/2022020115/549231bfac795934288b46fa/html5/thumbnails/2.jpg)
PostgreSQL HA
Diogo Biazus Colaborador Instrutor Empresário
![Page 3: PostgreSQL Ha](https://reader031.fdocuments.net/reader031/viewer/2022020115/549231bfac795934288b46fa/html5/thumbnails/3.jpg)
PostgreSQL HA
Os três mandamentos da alta disponibilidade: Redundância Redundância Redundância
![Page 4: PostgreSQL Ha](https://reader031.fdocuments.net/reader031/viewer/2022020115/549231bfac795934288b46fa/html5/thumbnails/4.jpg)
PostgreSQL HA
Objetivos Aumentar o tempo entre os problemas Diminuir o tempo de indisponibilidade
![Page 5: PostgreSQL Ha](https://reader031.fdocuments.net/reader031/viewer/2022020115/549231bfac795934288b46fa/html5/thumbnails/5.jpg)
PostgreSQL HA
Como fazemos isso? Redundância de hardware Redundância de serviço de banco de dados
![Page 6: PostgreSQL Ha](https://reader031.fdocuments.net/reader031/viewer/2022020115/549231bfac795934288b46fa/html5/thumbnails/6.jpg)
PostgreSQL HA
Redundância de hardware Ótima performance Simples para implementar Pode ser pouco flexível dependendo da demanda
![Page 7: PostgreSQL Ha](https://reader031.fdocuments.net/reader031/viewer/2022020115/549231bfac795934288b46fa/html5/thumbnails/7.jpg)
PostgreSQL HA
Receita de redundância de hardware Ingredientes:
Um storage Dois ou mais servidores a gosto Heartbeat
Modo de preparo: Deixe um servidor apenas ativo Em caso de falha outro servidor pode assumir usando a
mesma unidade do storage
![Page 8: PostgreSQL Ha](https://reader031.fdocuments.net/reader031/viewer/2022020115/549231bfac795934288b46fa/html5/thumbnails/8.jpg)
PostgreSQL HA
Redundância de SGBD Diversas opções Complexidade de implementação varia de ”nem tão
simples” a ”preciso editar XMLs a mão” Geralmente é mais flexível que a redundância de
hardware
![Page 9: PostgreSQL Ha](https://reader031.fdocuments.net/reader031/viewer/2022020115/549231bfac795934288b46fa/html5/thumbnails/9.jpg)
PostgreSQL HA
Pooling Estratégia ”homem do
meio” Pgpool Sequoia
![Page 10: PostgreSQL Ha](https://reader031.fdocuments.net/reader031/viewer/2022020115/549231bfac795934288b46fa/html5/thumbnails/10.jpg)
PostgreSQL HA
Pgpool Feito para trabalhar com o PostgreSQL em C Fácil instalação e configuração Código bem estável Flexível mas precisamos de outras ferramentas
Sequoia Feito para ser independente de SGBD em java Configuração pouco mais complexa mas bem
documentada Para clientes JDBC mas a solução é completa
![Page 11: PostgreSQL Ha](https://reader031.fdocuments.net/reader031/viewer/2022020115/549231bfac795934288b46fa/html5/thumbnails/11.jpg)
PostgreSQL HA
Problemas do pooling Uso de sequencias Sincronização de tempo O homem do meio é mais um cara para dar
problema
![Page 12: PostgreSQL Ha](https://reader031.fdocuments.net/reader031/viewer/2022020115/549231bfac795934288b46fa/html5/thumbnails/12.jpg)
PostgreSQL HA
Replicação multi-master PgCluster Cybercluster Bucardo
![Page 13: PostgreSQL Ha](https://reader031.fdocuments.net/reader031/viewer/2022020115/549231bfac795934288b46fa/html5/thumbnails/13.jpg)
PostgreSQL HA
PgCluster / Cybercluster Síncrono com balanceador de carga Alto custo de performance Requer versão modificada do servidor / instável Suporta DDL, é bem completo
Bucardo Assíncrono sem balanceador Não suporta chaves compostas nem DDL Programável via Perl Daemom rodando em paralelo, requer gatilhos
![Page 14: PostgreSQL Ha](https://reader031.fdocuments.net/reader031/viewer/2022020115/549231bfac795934288b46fa/html5/thumbnails/14.jpg)
PostgreSQL HA
Replicação master-slave Slony - I
![Page 15: PostgreSQL Ha](https://reader031.fdocuments.net/reader031/viewer/2022020115/549231bfac795934288b46fa/html5/thumbnails/15.jpg)
PostgreSQL HA
Slony – I Assíncrono e sem balanceador de carga Daemon separado Usa gatilhos Não elege um novo master, precisa de algo como o
pool para ser funcional
![Page 16: PostgreSQL Ha](https://reader031.fdocuments.net/reader031/viewer/2022020115/549231bfac795934288b46fa/html5/thumbnails/16.jpg)
PostgreSQL HA
Qual escolher? PgCluster: Não preciso de muita performance, mas
exigo sincronismo e quero uma solução completa (verificar estabilidade ou espírito audacioso)
Bucardo: Não preciso de sincronismo e não tenho chaves compostas (bom para distribuição geográfica)
![Page 17: PostgreSQL Ha](https://reader031.fdocuments.net/reader031/viewer/2022020115/549231bfac795934288b46fa/html5/thumbnails/17.jpg)
PostgreSQL HA
Pgpool: Muito flexível, não quero tocar nos bancos, não abro mão de performance.
Sequoia: Quero uma solução completa e posso usar JDBC
Slony – I: Geralmente usado em conjunto com o Pgpool, robusto e com performance. Simplifica e melhora o failback.