postgresql ha

18
PostgreSQL HA Não existe bala de prata

Upload: diogo-biazus

Post on 17-Dec-2014

1.827 views

Category:

Technology


2 download

DESCRIPTION

Palestra sobre opções para alta disponibilidade em PostgreSQL

TRANSCRIPT

Page 1: PostgreSQL Ha

PostgreSQL HA

Não existe bala de prata

Page 2: PostgreSQL Ha

PostgreSQL HA

Diogo Biazus Colaborador Instrutor Empresário

Page 3: PostgreSQL Ha

PostgreSQL HA

Os três mandamentos da alta disponibilidade: Redundância Redundância Redundância

Page 4: PostgreSQL Ha

PostgreSQL HA

Objetivos Aumentar o tempo entre os problemas Diminuir o tempo de indisponibilidade

Page 5: PostgreSQL Ha

PostgreSQL HA

Como fazemos isso? Redundância de hardware Redundância de serviço de banco de dados

Page 6: PostgreSQL Ha

PostgreSQL HA

Redundância de hardware Ótima performance Simples para implementar Pode ser pouco flexível dependendo da demanda

Page 7: PostgreSQL Ha

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

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

PostgreSQL HA

Pooling Estratégia ”homem do

meio” Pgpool Sequoia

Page 10: PostgreSQL Ha

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

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

PostgreSQL HA

Replicação multi-master PgCluster Cybercluster Bucardo

Page 13: PostgreSQL Ha

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

PostgreSQL HA

Replicação master-slave Slony - I

Page 15: PostgreSQL Ha

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

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

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.

Page 18: PostgreSQL Ha

PostgreSQL HA

Muito [email protected]