SlideShare uma empresa Scribd logo
1 de 18
Baixar para ler offline
PostgreSQL HA
     Não existe bala de prata
PostgreSQL HA

   Diogo Biazus
       Colaborador
       Instrutor
       Empresário
PostgreSQL HA

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

   Objetivos
       Aumentar o tempo entre os problemas
       Diminuir o tempo de indisponibilidade
PostgreSQL HA

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

   Redundância de hardware
       Ótima performance
       Simples para implementar
       Pode ser pouco flexível dependendo da demanda
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
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
PostgreSQL HA

                   Pooling
                       Estratégia ”homem do
                        meio”
                       Pgpool
                       Sequoia
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
PostgreSQL HA

   Problemas do pooling
       Uso de sequencias
       Sincronização de tempo
       O homem do meio é mais um cara para dar
        problema
PostgreSQL HA

                   Replicação multi-
                    master
                       PgCluster
                       Cybercluster
                       Bucardo
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
PostgreSQL HA

                   Replicação master-
                    slave
                       Slony - I
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
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)
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.
PostgreSQL HA




          Muito Obrigado
        diogob@gmail.com

Mais conteúdo relacionado

Mais procurados

Entendendo o paralelismo no SQL Server
Entendendo o paralelismo no SQL ServerEntendendo o paralelismo no SQL Server
Entendendo o paralelismo no SQL ServerLuciano Moreira
 
Aplicando processamento paralelo em instruções SQL
Aplicando processamento paralelo em instruções SQLAplicando processamento paralelo em instruções SQL
Aplicando processamento paralelo em instruções SQLpichiliani
 
Avaliando o Apache Cassandra como cache distribuido no SPC Brasil - NoSQLBR
Avaliando o Apache Cassandra como cache distribuido no SPC Brasil - NoSQLBRAvaliando o Apache Cassandra como cache distribuido no SPC Brasil - NoSQLBR
Avaliando o Apache Cassandra como cache distribuido no SPC Brasil - NoSQLBRJulio Viegas
 
Cloud computing & Spring Framework
Cloud computing & Spring FrameworkCloud computing & Spring Framework
Cloud computing & Spring FrameworkJulio Viegas
 
NoSQL: Uma análise crítica
NoSQL: Uma análise críticaNoSQL: Uma análise crítica
NoSQL: Uma análise críticapichiliani
 
Desenvolvendo uma aplicacao Full Javascript
Desenvolvendo uma aplicacao Full JavascriptDesenvolvendo uma aplicacao Full Javascript
Desenvolvendo uma aplicacao Full JavascriptDenis Vieira
 
2º Meritt CC - NoSQL - E o Futuro dos Bancos de Dados na Web
2º Meritt CC - NoSQL - E o Futuro dos Bancos de Dados na Web2º Meritt CC - NoSQL - E o Futuro dos Bancos de Dados na Web
2º Meritt CC - NoSQL - E o Futuro dos Bancos de Dados na WebMeritt - Cada Aluno é Único
 
Escalabilidade horizontal com PostgreSQL e Pgpool II
Escalabilidade horizontal com PostgreSQL e Pgpool IIEscalabilidade horizontal com PostgreSQL e Pgpool II
Escalabilidade horizontal com PostgreSQL e Pgpool IIMatheus Espanhol
 
Dicas para Turbinar o servidor de Aplicações JBoss 7
Dicas para Turbinar o servidor de Aplicações JBoss 7Dicas para Turbinar o servidor de Aplicações JBoss 7
Dicas para Turbinar o servidor de Aplicações JBoss 7Claudio Miranda
 
Entregando conteúdo em ambientes extremos na JVM
Entregando conteúdo em ambientes extremos na JVMEntregando conteúdo em ambientes extremos na JVM
Entregando conteúdo em ambientes extremos na JVMRodrigo Zaccara
 
Funcionalidades das versões 9.x do PostgreSQL
Funcionalidades das versões 9.x do PostgreSQLFuncionalidades das versões 9.x do PostgreSQL
Funcionalidades das versões 9.x do PostgreSQLMatheus Espanhol
 
Virtualização
VirtualizaçãoVirtualização
Virtualizaçãodieotavio
 
Otimização front end
Otimização front endOtimização front end
Otimização front endErika Takahara
 

Mais procurados (17)

Entendendo o paralelismo no SQL Server
Entendendo o paralelismo no SQL ServerEntendendo o paralelismo no SQL Server
Entendendo o paralelismo no SQL Server
 
Resource Governor 101
Resource Governor 101Resource Governor 101
Resource Governor 101
 
Aplicando processamento paralelo em instruções SQL
Aplicando processamento paralelo em instruções SQLAplicando processamento paralelo em instruções SQL
Aplicando processamento paralelo em instruções SQL
 
Avaliando o Apache Cassandra como cache distribuido no SPC Brasil - NoSQLBR
Avaliando o Apache Cassandra como cache distribuido no SPC Brasil - NoSQLBRAvaliando o Apache Cassandra como cache distribuido no SPC Brasil - NoSQLBR
Avaliando o Apache Cassandra como cache distribuido no SPC Brasil - NoSQLBR
 
Clojure
ClojureClojure
Clojure
 
Cloud computing & Spring Framework
Cloud computing & Spring FrameworkCloud computing & Spring Framework
Cloud computing & Spring Framework
 
NoSQL: Uma análise crítica
NoSQL: Uma análise críticaNoSQL: Uma análise crítica
NoSQL: Uma análise crítica
 
Desenvolvendo uma aplicacao Full Javascript
Desenvolvendo uma aplicacao Full JavascriptDesenvolvendo uma aplicacao Full Javascript
Desenvolvendo uma aplicacao Full Javascript
 
2º Meritt CC - NoSQL - E o Futuro dos Bancos de Dados na Web
2º Meritt CC - NoSQL - E o Futuro dos Bancos de Dados na Web2º Meritt CC - NoSQL - E o Futuro dos Bancos de Dados na Web
2º Meritt CC - NoSQL - E o Futuro dos Bancos de Dados na Web
 
Escalabilidade horizontal com PostgreSQL e Pgpool II
Escalabilidade horizontal com PostgreSQL e Pgpool IIEscalabilidade horizontal com PostgreSQL e Pgpool II
Escalabilidade horizontal com PostgreSQL e Pgpool II
 
Dicas para Turbinar o servidor de Aplicações JBoss 7
Dicas para Turbinar o servidor de Aplicações JBoss 7Dicas para Turbinar o servidor de Aplicações JBoss 7
Dicas para Turbinar o servidor de Aplicações JBoss 7
 
Entregando conteúdo em ambientes extremos na JVM
Entregando conteúdo em ambientes extremos na JVMEntregando conteúdo em ambientes extremos na JVM
Entregando conteúdo em ambientes extremos na JVM
 
Performance em Java
Performance em JavaPerformance em Java
Performance em Java
 
Alta Concorrência com Postgres
Alta Concorrência com PostgresAlta Concorrência com Postgres
Alta Concorrência com Postgres
 
Funcionalidades das versões 9.x do PostgreSQL
Funcionalidades das versões 9.x do PostgreSQLFuncionalidades das versões 9.x do PostgreSQL
Funcionalidades das versões 9.x do PostgreSQL
 
Virtualização
VirtualizaçãoVirtualização
Virtualização
 
Otimização front end
Otimização front endOtimização front end
Otimização front end
 

Destaque

Testes Unitarios Com PostgreSQL
Testes Unitarios Com PostgreSQLTestes Unitarios Com PostgreSQL
Testes Unitarios Com PostgreSQLDiogo Biazus
 
Utilizando Rails e PostgreSQL
Utilizando Rails e PostgreSQLUtilizando Rails e PostgreSQL
Utilizando Rails e PostgreSQLDiogo Biazus
 
Minicurso PostgreSQL
Minicurso PostgreSQLMinicurso PostgreSQL
Minicurso PostgreSQLDiogo Biazus
 
Management 3.0 - a vida pós-agilidade
Management 3.0 - a vida pós-agilidadeManagement 3.0 - a vida pós-agilidade
Management 3.0 - a vida pós-agilidadeFernando Ike
 
Desenvolvimento Dirigido por Testes com Junit
Desenvolvimento Dirigido por Testes com JunitDesenvolvimento Dirigido por Testes com Junit
Desenvolvimento Dirigido por Testes com JunitAdolfo Neto
 
WAHG 2 Enlightenment
WAHG 2 EnlightenmentWAHG 2 Enlightenment
WAHG 2 Enlightenmentjheiser
 
Postgre S Q L Apresentacao U F C
Postgre S Q L Apresentacao U F CPostgre S Q L Apresentacao U F C
Postgre S Q L Apresentacao U F CRibamar Sousa
 
Um milhao de usuários simultâneos
Um milhao de usuários simultâneosUm milhao de usuários simultâneos
Um milhao de usuários simultâneosFernando Ike
 
Petic Emgetis
Petic EmgetisPetic Emgetis
Petic Emgetisnetimba
 
Curso De Hibernate 3
Curso De Hibernate 3Curso De Hibernate 3
Curso De Hibernate 3Joel Lobo
 
Fazendo Um Elefante Passar Debaixo da Porta - CONSEGI
Fazendo Um Elefante Passar Debaixo da Porta - CONSEGIFazendo Um Elefante Passar Debaixo da Porta - CONSEGI
Fazendo Um Elefante Passar Debaixo da Porta - CONSEGIFabio Telles Rodriguez
 
NoSQL + SQL = PostgreSQL (PGDay Campinas 2014)
NoSQL + SQL = PostgreSQL (PGDay Campinas 2014)NoSQL + SQL = PostgreSQL (PGDay Campinas 2014)
NoSQL + SQL = PostgreSQL (PGDay Campinas 2014)Fabrízio Mello
 
Implementando Testes Unitários em Java - Manoel Pimentel
Implementando Testes Unitários em Java - Manoel PimentelImplementando Testes Unitários em Java - Manoel Pimentel
Implementando Testes Unitários em Java - Manoel PimentelManoel Pimentel Medeiros
 
The Buyer's Journey - by Chris Lema
The Buyer's Journey - by Chris LemaThe Buyer's Journey - by Chris Lema
The Buyer's Journey - by Chris LemaChris Lema
 

Destaque (20)

Testes Unitarios Com PostgreSQL
Testes Unitarios Com PostgreSQLTestes Unitarios Com PostgreSQL
Testes Unitarios Com PostgreSQL
 
Utilizando Rails e PostgreSQL
Utilizando Rails e PostgreSQLUtilizando Rails e PostgreSQL
Utilizando Rails e PostgreSQL
 
Collectd
CollectdCollectd
Collectd
 
Minicurso PostgreSQL
Minicurso PostgreSQLMinicurso PostgreSQL
Minicurso PostgreSQL
 
Hercules
HerculesHercules
Hercules
 
Arquivos No Banco
Arquivos No BancoArquivos No Banco
Arquivos No Banco
 
Git
GitGit
Git
 
Management 3.0 - a vida pós-agilidade
Management 3.0 - a vida pós-agilidadeManagement 3.0 - a vida pós-agilidade
Management 3.0 - a vida pós-agilidade
 
Desenvolvimento Dirigido por Testes com Junit
Desenvolvimento Dirigido por Testes com JunitDesenvolvimento Dirigido por Testes com Junit
Desenvolvimento Dirigido por Testes com Junit
 
WAHG 2 Enlightenment
WAHG 2 EnlightenmentWAHG 2 Enlightenment
WAHG 2 Enlightenment
 
Postgre Sql
Postgre SqlPostgre Sql
Postgre Sql
 
Postgre S Q L Apresentacao U F C
Postgre S Q L Apresentacao U F CPostgre S Q L Apresentacao U F C
Postgre S Q L Apresentacao U F C
 
Um milhao de usuários simultâneos
Um milhao de usuários simultâneosUm milhao de usuários simultâneos
Um milhao de usuários simultâneos
 
Petic Emgetis
Petic EmgetisPetic Emgetis
Petic Emgetis
 
Curso De Hibernate 3
Curso De Hibernate 3Curso De Hibernate 3
Curso De Hibernate 3
 
Fazendo Um Elefante Passar Debaixo da Porta - CONSEGI
Fazendo Um Elefante Passar Debaixo da Porta - CONSEGIFazendo Um Elefante Passar Debaixo da Porta - CONSEGI
Fazendo Um Elefante Passar Debaixo da Porta - CONSEGI
 
NoSQL + SQL = PostgreSQL (PGDay Campinas 2014)
NoSQL + SQL = PostgreSQL (PGDay Campinas 2014)NoSQL + SQL = PostgreSQL (PGDay Campinas 2014)
NoSQL + SQL = PostgreSQL (PGDay Campinas 2014)
 
Implementando Testes Unitários em Java - Manoel Pimentel
Implementando Testes Unitários em Java - Manoel PimentelImplementando Testes Unitários em Java - Manoel Pimentel
Implementando Testes Unitários em Java - Manoel Pimentel
 
Introdução ao BD Postgre
Introdução ao BD PostgreIntrodução ao BD Postgre
Introdução ao BD Postgre
 
The Buyer's Journey - by Chris Lema
The Buyer's Journey - by Chris LemaThe Buyer's Journey - by Chris Lema
The Buyer's Journey - by Chris Lema
 

Semelhante a PostgreSQL Ha

PostgreSQL Transformando um elefante numa manada
PostgreSQL Transformando um elefante numa manadaPostgreSQL Transformando um elefante numa manada
PostgreSQL Transformando um elefante numa manadaFabio Telles Rodriguez
 
Solisc2009 Migrando de Oracle para Postgresql
Solisc2009 Migrando de Oracle para PostgresqlSolisc2009 Migrando de Oracle para Postgresql
Solisc2009 Migrando de Oracle para PostgresqlLeonardo Medeiros Martins
 
PostgreSQL - Visão Geral - Pedro Vieira
PostgreSQL - Visão Geral - Pedro VieiraPostgreSQL - Visão Geral - Pedro Vieira
PostgreSQL - Visão Geral - Pedro VieiraPedro Fernandes Vieira
 
Containers PostgreSQL com a Crunchy Container Suite
Containers PostgreSQL com a Crunchy Container SuiteContainers PostgreSQL com a Crunchy Container Suite
Containers PostgreSQL com a Crunchy Container SuiteRoberto Mello
 
HA em PostgreSQL: O Elefante disponível para além do infinito
HA em PostgreSQL: O Elefante disponível para além do infinitoHA em PostgreSQL: O Elefante disponível para além do infinito
HA em PostgreSQL: O Elefante disponível para além do infinitoelliando dias
 
Apresentação Java, SOA, MICROSERVICE, HTTP, HTTPS, VERSIONAMENTO DE CONTRATO,
Apresentação Java, SOA, MICROSERVICE, HTTP, HTTPS, VERSIONAMENTO DE CONTRATO, Apresentação Java, SOA, MICROSERVICE, HTTP, HTTPS, VERSIONAMENTO DE CONTRATO,
Apresentação Java, SOA, MICROSERVICE, HTTP, HTTPS, VERSIONAMENTO DE CONTRATO, Vinicius Pulgatti
 
Apresentação PGDAY - Replicação Nativa - PostgreSQL
Apresentação PGDAY - Replicação Nativa - PostgreSQLApresentação PGDAY - Replicação Nativa - PostgreSQL
Apresentação PGDAY - Replicação Nativa - PostgreSQLJohnes Castro
 
L'esprit de l'escalier
L'esprit de l'escalierL'esprit de l'escalier
L'esprit de l'escalierGleicon Moraes
 
Migração de Oracle para PostgreSQL - FISL
Migração de Oracle para PostgreSQL - FISLMigração de Oracle para PostgreSQL - FISL
Migração de Oracle para PostgreSQL - FISLFabio Telles Rodriguez
 
Bancos de dados open source
Bancos de dados open sourceBancos de dados open source
Bancos de dados open sourceRodrigo Aurélio
 
Bancos de Dados em “Clouds”
Bancos de Dados em “Clouds”Bancos de Dados em “Clouds”
Bancos de Dados em “Clouds”elliando dias
 
Palestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVAPalestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVAThiago Cifani
 
Fazendo Um Elefante Passar Debaixo da Porta - PGCon-BR
Fazendo Um Elefante Passar Debaixo da Porta - PGCon-BRFazendo Um Elefante Passar Debaixo da Porta - PGCon-BR
Fazendo Um Elefante Passar Debaixo da Porta - PGCon-BRFabio Telles Rodriguez
 
Bancos de dados e jdbc java para desenvolvimento web
Bancos de dados e jdbc   java para desenvolvimento webBancos de dados e jdbc   java para desenvolvimento web
Bancos de dados e jdbc java para desenvolvimento websilvio_sas
 
Palestra ferramentas de administraao sgbd
Palestra   ferramentas de administraao sgbdPalestra   ferramentas de administraao sgbd
Palestra ferramentas de administraao sgbdDiego Rivera Tavares
 
Estudo de Planejamento e Performance na consolidação de CECs Mainframe. Gusta...
Estudo de Planejamento e Performance na consolidação de CECs Mainframe. Gusta...Estudo de Planejamento e Performance na consolidação de CECs Mainframe. Gusta...
Estudo de Planejamento e Performance na consolidação de CECs Mainframe. Gusta...Joao Galdino Mello de Souza
 
Modelos de computação distribuída no Hadoop
Modelos de computação distribuída no HadoopModelos de computação distribuída no Hadoop
Modelos de computação distribuída no HadoopBig Data Week São Paulo
 

Semelhante a PostgreSQL Ha (20)

PostgreSQL Transformando um elefante numa manada
PostgreSQL Transformando um elefante numa manadaPostgreSQL Transformando um elefante numa manada
PostgreSQL Transformando um elefante numa manada
 
Solisc2009 Migrando de Oracle para Postgresql
Solisc2009 Migrando de Oracle para PostgresqlSolisc2009 Migrando de Oracle para Postgresql
Solisc2009 Migrando de Oracle para Postgresql
 
PostgreSQL - Visão Geral - Pedro Vieira
PostgreSQL - Visão Geral - Pedro VieiraPostgreSQL - Visão Geral - Pedro Vieira
PostgreSQL - Visão Geral - Pedro Vieira
 
Oracle T Opgsql
Oracle T OpgsqlOracle T Opgsql
Oracle T Opgsql
 
Containers PostgreSQL com a Crunchy Container Suite
Containers PostgreSQL com a Crunchy Container SuiteContainers PostgreSQL com a Crunchy Container Suite
Containers PostgreSQL com a Crunchy Container Suite
 
HA em PostgreSQL: O Elefante disponível para além do infinito
HA em PostgreSQL: O Elefante disponível para além do infinitoHA em PostgreSQL: O Elefante disponível para além do infinito
HA em PostgreSQL: O Elefante disponível para além do infinito
 
Apresentação Java, SOA, MICROSERVICE, HTTP, HTTPS, VERSIONAMENTO DE CONTRATO,
Apresentação Java, SOA, MICROSERVICE, HTTP, HTTPS, VERSIONAMENTO DE CONTRATO, Apresentação Java, SOA, MICROSERVICE, HTTP, HTTPS, VERSIONAMENTO DE CONTRATO,
Apresentação Java, SOA, MICROSERVICE, HTTP, HTTPS, VERSIONAMENTO DE CONTRATO,
 
Apresentação PGDAY - Replicação Nativa - PostgreSQL
Apresentação PGDAY - Replicação Nativa - PostgreSQLApresentação PGDAY - Replicação Nativa - PostgreSQL
Apresentação PGDAY - Replicação Nativa - PostgreSQL
 
L'esprit de l'escalier
L'esprit de l'escalierL'esprit de l'escalier
L'esprit de l'escalier
 
Migração de Oracle para PostgreSQL - FISL
Migração de Oracle para PostgreSQL - FISLMigração de Oracle para PostgreSQL - FISL
Migração de Oracle para PostgreSQL - FISL
 
Bancos de dados open source
Bancos de dados open sourceBancos de dados open source
Bancos de dados open source
 
Bancos de Dados em “Clouds”
Bancos de Dados em “Clouds”Bancos de Dados em “Clouds”
Bancos de Dados em “Clouds”
 
B Ds Clouds
B Ds CloudsB Ds Clouds
B Ds Clouds
 
Palestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVAPalestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVA
 
Fazendo Um Elefante Passar Debaixo da Porta - PGCon-BR
Fazendo Um Elefante Passar Debaixo da Porta - PGCon-BRFazendo Um Elefante Passar Debaixo da Porta - PGCon-BR
Fazendo Um Elefante Passar Debaixo da Porta - PGCon-BR
 
Bancos de dados e jdbc java para desenvolvimento web
Bancos de dados e jdbc   java para desenvolvimento webBancos de dados e jdbc   java para desenvolvimento web
Bancos de dados e jdbc java para desenvolvimento web
 
Palestra ferramentas de administraao sgbd
Palestra   ferramentas de administraao sgbdPalestra   ferramentas de administraao sgbd
Palestra ferramentas de administraao sgbd
 
Alta Concorrência com Postgres
Alta Concorrência com PostgresAlta Concorrência com Postgres
Alta Concorrência com Postgres
 
Estudo de Planejamento e Performance na consolidação de CECs Mainframe. Gusta...
Estudo de Planejamento e Performance na consolidação de CECs Mainframe. Gusta...Estudo de Planejamento e Performance na consolidação de CECs Mainframe. Gusta...
Estudo de Planejamento e Performance na consolidação de CECs Mainframe. Gusta...
 
Modelos de computação distribuída no Hadoop
Modelos de computação distribuída no HadoopModelos de computação distribuída no Hadoop
Modelos de computação distribuída no Hadoop
 

PostgreSQL Ha

  • 1. PostgreSQL HA Não existe bala de prata
  • 2. PostgreSQL HA  Diogo Biazus  Colaborador  Instrutor  Empresário
  • 3. PostgreSQL HA  Os três mandamentos da alta disponibilidade:  Redundância  Redundância  Redundância
  • 4. PostgreSQL HA  Objetivos  Aumentar o tempo entre os problemas  Diminuir o tempo de indisponibilidade
  • 5. PostgreSQL HA  Como fazemos isso?  Redundância de hardware  Redundância de serviço de banco de dados
  • 6. PostgreSQL HA  Redundância de hardware  Ótima performance  Simples para implementar  Pode ser pouco flexível dependendo da demanda
  • 7. 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
  • 8. 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
  • 9. PostgreSQL HA  Pooling  Estratégia ”homem do meio”  Pgpool  Sequoia
  • 10. 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
  • 11. PostgreSQL HA  Problemas do pooling  Uso de sequencias  Sincronização de tempo  O homem do meio é mais um cara para dar problema
  • 12. PostgreSQL HA  Replicação multi- master  PgCluster  Cybercluster  Bucardo
  • 13. 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
  • 14. PostgreSQL HA  Replicação master- slave  Slony - I
  • 15. 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
  • 16. 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)
  • 17. 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.
  • 18. PostgreSQL HA Muito Obrigado diogob@gmail.com