• Save
Replicacaoo Sincrona e Alta-Disponibilidade com PostgreSQL
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Replicacaoo Sincrona e Alta-Disponibilidade com PostgreSQL

on

  • 6,424 views

Palestra ministrada no PGDay DF, no Ministério do Planejamento em Brasília.

Palestra ministrada no PGDay DF, no Ministério do Planejamento em Brasília.

Statistics

Views

Total Views
6,424
Views on SlideShare
5,823
Embed Views
601

Actions

Likes
5
Downloads
0
Comments
0

12 Embeds 601

http://www.i9web.com.br 525
http://www.slideshare.net 27
http://www.grupotimt.org 15
http://abtasty.com 11
http://www.infoblogs.com.br 10
http://infoblogs.com.br 3
http://8767852887189057239_6db688a7d5441d70530b36f37238e899456f4b46.blogspot.com 2
http://digg.com 2
http://cloud.feedly.com 2
http://feeds.feedburner.com 2
http://www.blogger.com 1
http://www.linkedin.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Replicacaoo Sincrona e Alta-Disponibilidade com PostgreSQL Presentation Transcript

  • 1. PGDay Brasília 2009 Replicação e Alta-Disponibilidade é possível? Dickson S. Guedes http://guedesoft.net PGDay Brasília 2009
  • 2. O que vamos ver? Os desafios  O Plano de Continuidade de Negócio  O Contrato de Nível de Serviço  Alta-disponibilidade e a Alta-performance  Os cenários possíveis  As soluções possíveis  Os custos envolvidos  Os resultados que poderemos obter  Dickson S. Guedes - http://guedesoft.net - PGDay Brasília 2009
  • 3. Os desafios O porquê da replicação?  As premissas de segurança  Disponível, Confiável, Íntegro  O modelo ACID  Atômico, Consistente, Isolado e Durável  O paradigma da escalabilidade  O dono do negócio  Os usuários do negócio  Dickson S. Guedes - http://guedesoft.net - PGDay Brasília 2009
  • 4. O P.C.N. Os riscos  externos, internos, naturais, hard/soft/peopleware  Os impactos  custo da indisponibilidade, quantificar perdas  A recuperação de desastres  backup, site remoto  A conscientização  treinamentos internos  Dickson S. Guedes - http://guedesoft.net - PGDay Brasília 2009
  • 5. O S.L.A. Disponibilidade do Sistema  O sistema precisa estar disponível durante __ dias  por semana das __ horas às __ horas Perda de dados aceitável  Não mais que __ minutos de entrada de dados  podem ser perdidas Dickson S. Guedes - http://guedesoft.net - PGDay Brasília 2009
  • 6. O S.L.A. Tempo de recuperação  Em caso de um desastre o sistema precisa voltar a  funcionar em no máximo __ horas Performance  O tempo de resposta das transações da aplicação  não pode exceder mais que __ segundos Dickson S. Guedes - http://guedesoft.net - PGDay Brasília 2009
  • 7. O noves 90,0% ~ 56 dias/ano de indisponibilidade  99,0% ~ 3,5 dias/ano de indisponibilidade  99,9% ~ 8 horas/ano de indisponibilidade  99,99% ~ 52min/ano de indisponibilidade  99,999% ~ 5min/ano de indisponibilidade  24x7 / 8x5 / ??x!! Dickson S. Guedes - http://guedesoft.net - PGDay Brasília 2009
  • 8. Alta-disponibilidade O que é necessário?  Menor indisponibilidade possível  Por que é necessário?  Prevenir perda de dados  Evitar indisponibilidade do serviço  Quem precisa?  O dono do negócio  Os usuários do serviço  Dickson S. Guedes - http://guedesoft.net - PGDay Brasília 2009
  • 9. Alta-performance O que é necessário?  Menor tempo de resposta possível  Por que é necessário?  Quem gosta de esperar?  Mais dados processados em menos tempo  Quem precisa?  Os usuários do serviço  Dickson S. Guedes - http://guedesoft.net - PGDay Brasília 2009
  • 10. Os cenários possíveis Tolerância à falhas  Balanceamento de carga  Sites remotos  Data Warehouse  Dickson S. Guedes - http://guedesoft.net - PGDay Brasília 2009
  • 11. As soluções possíveis Tolerância à falhas por disco compartilhado  Espelhamento de Sistemas de Arquivos  Log shipping síncrono (em desenvolvimento)  Multi-master síncrono  Statement-Based  Soluções comerciais  Dickson S. Guedes - http://guedesoft.net - PGDay Brasília 2009
  • 12. Disco compartilhado Desempenho normal  Não há perda APLICAÇÃO  Slave não executa  consultas BD BD Master Slave Scripts auxiliares  Nagios  Custos?  Pontos de falhas?  DADOS Dickson S. Guedes - http://guedesoft.net - PGDay Brasília 2009
  • 13. Disco compartilhado Master morreu e agora?!  Aplicação precisa tratar APLICAÇÃO  Usar um heartbeat  Slave vira master  BD BD Master Master Master volta  manualmente DADOS Dickson S. Guedes - http://guedesoft.net - PGDay Brasília 2009
  • 14. Espelhamento de Sistema de Arquivos Desempenho normal no  Master APLICAÇÃO Síncrono  Assíncrono com  BD BD Master Slave possíveis perdas Slave não executa  consultas Custos?  DRDB DADOS DADOS Pontos de falhas?  Dickson S. Guedes - http://guedesoft.net - PGDay Brasília 2009
  • 15. Espelhamento de Sistema de Arquivos Master morreu e agora?!  Aplicação precisa tratar APLICAÇÃO  Usar um heartbeat  Slave vira master  BD BD Master Master Master volta  manualmente Checar integridade dos  dados do master DADOS DADOS Dickson S. Guedes - http://guedesoft.net - PGDay Brasília 2009
  • 16. Log shipping sincrono Desempenho no master  depende da rede APLICAÇÃO Sucessor do warm-  standby BD BD Master Slave Síncrono sem perdas  Recuperação rápida  Hot Standby  Custos?  DADOS DADOS Pontos de falhas?  Dickson S. Guedes - http://guedesoft.net - PGDay Brasília 2009
  • 17. Log shipping sincrono Master falhou  pg_standby pode APLICAÇÃO  promover o slave para master BD BD Ambos os modulos Master Master  em desenvolvimento DADOS DADOS Dickson S. Guedes - http://guedesoft.net - PGDay Brasília 2009
  • 18. Baseado em sentenças pgpool-II APLICAÇÃO Balanceamento de carga  nas consultas PGPOOL-II Consultas paralelas  Escalabilidade em  BD BD 01 02 consultas Pool de conexão  Custos?  Pontos de falha?  DADOS DADOS Dickson S. Guedes - http://guedesoft.net - PGDay Brasília 2009
  • 19. Baseado em sentenças pgpool-II APLICAÇÃO Um dos masters  morreu? PGPOOL-II pgpool sabe!  A aplicação não “:)  BD BD 01 02 A volta do master de  forma online exige o SystemDB DADOS DADOS Dickson S. Guedes - http://guedesoft.net - PGDay Brasília 2009
  • 20. Baseado em sentenças sequoia APLICAÇÃO Balanceamento de carga  nas consultas SEQUOIA 01 SEQUOIA 02 Consultas paralelas  Escalabilidade em  BD BD BD BD 01 02 03 04 consultas JDBC, ODBC  Custos?  Pontos de falha?  DADOS DADOS DADOS DADOS Dickson S. Guedes - http://guedesoft.net - PGDay Brasília 2009
  • 21. Outros Postgres-R  PGCluster  Dickson S. Guedes - http://guedesoft.net - PGDay Brasília 2009
  • 22. Um exemplo... Configurando o pgpool-II  Dickson S. Guedes - http://guedesoft.net - PGDay Brasília 2009
  • 23. Instalando pgpool-II Acessar  http://pgfoundry.org/frs/?group_id=1000055  Obter a versão mais atual: pgpool-II 2.2  Descompactar no servidor onde irá rodá-lo  Executar:  ./configure && make && make install  cd /usr/local/etc/  cp pgpool.conf.sample pgpool.conf  cp pcp.conf.sample pcp.conf  Dickson S. Guedes - http://guedesoft.net - PGDay Brasília 2009
  • 24. Configurando pgpool-II Em pgpool.conf  listen_addresses = '*'  port = 9999  pcp_port = 9898  replication_mode = true  load_balance_mode = true  Em pcp.conf  postgres:e8a48653851e28c69d0506508fb27fc5  No pg_hba.conf  trust para o IP do pgpool e usar pool_hba.conf  Dickson S. Guedes - http://guedesoft.net - PGDay Brasília 2009
  • 25. Configurando os nós Em pgpool.conf  backend_hostname0 = 'srv01.dbservers.intranet'  backend_port0 = 5432  backend_weight0 = 1  backend_hostname1 = 'srv02.dbservers.intranet'  backend_port1 = 5432  backend_weight1 = 1  backend_hostname2 = 'srv03.dbservers.intranet'  backend_port2 = 5666  backend_weight2 = 1  Dickson S. Guedes - http://guedesoft.net - PGDay Brasília 2009
  • 26. Gerenciando o pgpool-II Iniciando em primeiro plano  pgpool  Iniciando em segundo plano  pgpool -n -d > /var/log/pgpool.log 2>&1 &  Parando  pgpool stop  Parando imediatamente (arriscado)  pgpool -m fast stop  Dickson S. Guedes - http://guedesoft.net - PGDay Brasília 2009
  • 27. Estrutura testada Blade Center ● Capacidade para 14 lâminas; ● Fonte de alimentação redundante e hot-swap; ● 02 x Switches SAN 4Gb/s; ● 02 x Switches Gigabit EthernetServer ● Connectivity com 14 portas internas e 6 portas externas; 2 lâminas JS21 – Servidor de Banco de Dados ● 2x PowerPC 970MP 2.5GHz / 2.3GHz Dual Core; ● 12 GB MEM PC2-3200 CL3 ECC DDR2 SDRAM RDIMM; ● 1xHBA ● 2 x HD de 73GB 10K SFF SAS; ● Dual Gigabit Ethernet Integrado; ● RAID-0 ou -1 integrado padrão no servidor blade, RAID-1E; 01 Storage IBM modelo DS4700 Express 2GB de cache; 9 x discos 300GB 2 Gbps, 10K RPM; Implementa RAID1+0; Dickson S. Guedes - http://guedesoft.net - PGDay Brasília 2009
  • 28. Testando Criar um banco de testes conectando no pgpool-II  createdb -p 9999 -h srvpool.dbservers.intranet replicacao  Popular o banco com o pgbench:  pgbench -i -s 3 -p 9999 -h srvpool.dbservers.intranet replicacao  Executar benchmarks nos servidores individuais e no pgpool-II:  pgbench -s 3 -p 5432 -h srv01.dbservers.intranet replicacao  Resultado obitido em TPS: ~ 1200  pgbench -s 3 -p 5432 -h srv02.dbservers.intranet replicacao  Resultado obitido em TPS: ~ 1200  pgbench -s 3 -p 5666 -h srv03.dbservers.intranet replicacao  Resultado obitido em TPS: ~ 1200  pgbench -s 3 -p 9999 -h srvpool.dbservers.intranet replicacao  Resultado obitido em TPS: ~ 900 (perda na replicação)  Dickson S. Guedes - http://guedesoft.net - PGDay Brasília 2009
  • 29. Conclusão Não existe uma caixinha pronta chamada  replicação! Não existe almoço grátis!  Há vários custos envolvidos na replicação!  Entenda seus requisitos e como as diversas  alternativas se adéquam à eles! Dickson S. Guedes - http://guedesoft.net - PGDay Brasília 2009
  • 30. Contatos Dickson S. Guedes  Email e Gtalk: guedes@guedesoft.net  Home Page: http://guedesoft.net  IRC: Guedes em irc.freenode.net  #postgresql, #postgresql-br  Dickson S. Guedes - http://guedesoft.net - PGDay Brasília 2009