SlideShare ist ein Scribd-Unternehmen logo
1 von 41
Replicação Síncrona
    quot;Não existe almoço grátisquot;
   Conhecer o que você precisa, planejar, criar cenários de 
   testes, interpretar os resultados obtidos,  são passos 
   fundamentais para uma tomada de decisão que assombra os 
   administradores de muitos ambientes: 

   A implementação de uma solução de replicação síncrona.




Dickson S. Guedes
http://makeall.wordpress.com
PGCon Brasil 2008
                          
Problematização

           Qual é o nosso problema?
       



           Quais soluções buscamos?
       



           Qual é a nossa estrutura?
       



           Quais os cenários podemos testar?
       



           Qual o custo/benefício de cada um?
       



           Quais os resultados obtidos?
       




                                         

Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
Qual o nosso problema?

           Nossa aplicação por si só não integra 
       


           mecanismos de tolerância a falhas.


           Dados armazenados altamente voláteis, 
       


           transacionais;


           Sistema OLTP de missão crítica;
       




                                         

Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
Qual é a nossa estrutura?
                                         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 Aplicação
       ● 2x PowerPC 970MP 2.5GHz / 2.3GHz Dual Core;

       ● 12 GB MEM PC2-3200 CL3 ECC DDR2 SDRAM RDIMM;

       ● 2 x HD de 73GB 10K SFF SAS;

       ● Dual Gigabit Ethernet Integrado;

       ● RAID-0 ou -1 integrado padrão no servidor blade, RAID-1E;




       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;

                                                

Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
Qual é a nossa estrutura?
 2 Servidores IBM modelo System x3200 Servidor WEB
 1 1.87GHz Intel Xeon 3040 Dual Core
 Cache L2: 2MB;
 1 GB Memória ECC DDR2-667 DIMM PC2-5300 expansível a
 08GB;
 2 HD`s de 80GB 7200 rpm Simple-Swap SATA HDD;
 2 Adaptadores Gigabit Ethernet 10/100/1000;
 Interface do disco SATA Simple-Swap;
 Controladora: SATA 4 Port;


                                 01 Storage IBM modelo DS4700 Express
                                 2GB de cache;
                                 9 x discos 300GB 2 Gbps, 10K RPM;
                                 Implementa RAID 0,1, 1+0 e 5;
                                 4 portas Fibre Channel 4Gbps;
                                 2 Storage Partitions Activation;
                                 Host Kit Linux/Intel;
                                 4 x Fibre Cable 5m Multimode (LC-LC);
                                 Suporte para até 112 discos;
                                 Integração com o IBM Director;
                                 Garantia de 03 anos on-site 24 x 7, atendimento em
                                 4 horas.  
    

Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
Quais soluções buscamos?

           Assegurar a integridade de qualquer alteração 
       


           realizada a qualquer intervalo de tempo;


           Minimizar o risco de indisponibilidade do 
       


           ambiente;


           Atingir disponibilidade inicial de 99% 
       


                                        (~3,5dias/ano ou ~7h/mês)
                                             

Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
Planejamento

           Que aplicações requerem alta disponibilidade?
       




           Qual o nível de serviço requerido por essas 
       


           aplicações?


           Quais são os pontos de falhas em potencial no 
       


           ambiente e como eles podem ser 
           identificados?
                                         

Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
Planejamento

           Quais os pontos de falhas podem ser 
       


           automaticamente identificados? 


           Quais deles necessitam de uma customização 
       


           para disparar um evento de recuperação?


           Qual o nível de conhecimento existente 
       


           do grupo que implementará e manterá
           este ambiente?
                                         

Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
Planejamento

           Quantos nós são necessários para suportar a 
       


           aplicação?


           Como os clientes conectam­se à aplicação?
       




           Qual configuração de rede possuímos?
       




                                         

Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
Quem precisa estar envolvido?

           Administrador de Redes
       



           Administrador de SO
       



           Adminsitrador da Aplicação
       



           Administrador de Banco de Dados
       



           Arquitetos e Analistas da Aplicação
       



           Suporte
       



           Usuários da aplicação  
       
    

Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
Cenário ideal
                                   NLB


       WEB01            WEB02                WEB01            WEB02




       APP01            APP02                APP01            APP02




       BD01              BD02                BD01              BD02




        SAN              SAN                  SAN             SAN
                                          

Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
Cenário ideal
                                   NLB


       WEB01            WEB02                WEB01            WEB02




       APP01            APP02                APP01            APP02




                                                     Não podemos
       BD01              BD02                BD01               BD02
                                                       abraçar o
                                                      mundo no
                                                      momento...

        SAN              SAN                  SAN              SAN
                                          

Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
Cenário ideal reduzido
                       NLB


            WEB01              WEB02




             APP01             APP02




             BD01                BD02




               SAN              SAN
                                         

Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
Cenário ideal
                       NLB                         Sem NLB!            ”:(

            WEB01              WEB02




             APP01             APP02
                                                   PostgreSQL sozinho não
                                                   suporta replicação! ”:(



             BD01                BD02




               SAN              SAN
                                         

Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
Cenário ideal reduzido
                     ROUND ROBIN


            WEB01              WEB02


                                               mod_jk


             APP01             APP02


                                              QUEM??


             BD01                  BD02




                        SAN
                                           

Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
Soluções aproximadas

           Middlewares que trabalhem entre servidores 
       


           PostgreSQL e softwares clientes


           Candidatos:
       


               pgpool­II
           



               Sequoia
           




           Existem outras soluções?
       


               pgcluster, pl/proxy, ...
                                           
           

Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
Características do pgpool­II

           Limita conexões excedentes;
       



           Pool de conexões;
       



           Replicação até 128 nós;
       



           Balanceamento de carga em consultas;
       



           Consultas paralelas;
       



           Tolerância a falhas transparente para os 
       


           clientes ;
           Nível de complexidade do restore alto;
       

                                         

Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
Características do sequoia

           Replicação via driver JDBC próprio;
       



           Necessidade de um ou mais controladores;
       



           Balanceamento de carga em consultas;
       



           Consultas paralelas;
       



           Tolerância a falhas transparentes para os 
       


           clientes;
           Nível de complexidade do restore baixo;
       




                                         

Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
Preparação do cenário de testes

           Estrutura original do piloto no novo ambiente
       



           Uso do pgScript para criação de massa de 
       


           dados (~50GB)
           Escolha de uma amostra de instruções do 
       


           próprio sistema;
           Etapa 1: 50 con. 1.000.000 transac.
       



           Etapa 2: 100 con. 1.500.000 transac.
       



           Etapa 3: 100 con. 2.000.000 transac.
       

                                         

Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
Cenário utilizando pgpool­II
                     ROUND ROBIN


            WEB01                  WEB02




             APP01                 APP02


                       pgpool­II



             BD01                  BD02



                         SAN
                                            

Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
Cenário utilizando pgpool­II
                     ROUND ROBIN                    Uma instância do pgpool 
                                               ●


                                               pode estar conectada a n 
            WEB01                  WEB02
                                               backends;

                                                    Um ponto único de falha;
                                               ●




                                                    Pode ser criada uma árvore;
             APP01                 APP02       ●




                                                 Velocidade de transação 
                                               ●
                       pgpool­II
                                               restrita ao nó mais lento;

             BD01                  BD02             Retornamos à estaca zero?
                                               ●




                                                    Storage sub­utilizado?
                                               ●

                         SAN
                                            

Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
Exemplo configuração pgpool­II
          # Master node info
          backend_hostname0 = ‘localhost’
          backend_port0 = 5432
          backend_data_directory0 = ‘/home/y­asaba/demo/5432/data’
          # Secondary node info
          backend_hostname1 = ‘localhost’
          backend_port1 = 5433
          backend_data_directory1 = ‘/home/y­asaba/demo/5433/data’
          # Enable replication
          replication_mode = true
          # Enable load balance
          load_balance_mode = true
          # Online recovery user
          recovery_user = ‘y­asaba’
          # The first stage script
          recovery_1st_stage_command = ‘base­backup.sh’
          # The second stage script
          recovery_2nd_stage_command = ‘pgpool­recovery’

                                            

Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
Cenário utilizando sequoia
                    ROUND ROBIN


            WEB01              WEB02




            APP01              APP02
                                   JDBC
         JDBC

             sequoia            sequoia



             BD01               BD02



                       SAN
                                           

Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
Cenário utilizando sequoia
                    ROUND ROBIN                    Várias instâncias do 
                                              ●


                                              sequoia podem estar 
            WEB01              WEB02
                                              conectada a n backends;

                                                   Pontos de falha distribuídos;
                                              ●




                                                   Níveis de RAIDb (0, 1, 2)
            APP01              APP02          ●
                                   JDBC
         JDBC

                                                Velocidade de transação 
                                              ●
             sequoia            sequoia
                                              restrita ao nó mais lento;

             BD01               BD02               Retornamos à estaca zero?
                                              ●




                                                   Storage sub­utilizado?
                                              ●

                       SAN
                                           

Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
Exemplo configuração sequoia
         CONTROLLER.XML
         <?xml version=quot;1.0quot; encoding=quot;UTF­8quot; ?>
         <!DOCTYPE SEQUOIA­CONTROLLER PUBLIC 
         quot;­//Continuent//DTD SEQUOIA­
         CONTROLLER @VERSION@//ENquot; 
         quot;http://sequoia.continuent.org/dtds/sequoia­
         controller­@VERSION@.dtdquot;>
         <SEQUOIA­CONTROLLER>
           <Controller ipAddress=quot;127.0.0.1quot; port=quot;25322quot;>
             <JmxSettings>
                <RmiJmxAdaptor port=quot;1090quot;/>
             </JmxSettings>
             <VirtualDatabase configFile=quot;hsqldb­raidb1­
         distribution­1.xmlquot;
               virtualDatabaseName=quot;myDBquot; 
         autoEnableBackends=quot;truequot;/>
           </Controller>
         </SEQUOIA­CONTROLLER>
                                             

Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
Exemplo configuração sequoia
        VIRTUALDATABASE.XML
        <?xml version=quot;1.0quot; encoding=quot;UTF­8quot;?>
        (...)
            <Backup>
              <Backuper backuperName=quot;Octopusquot;
                
        className=quot;org.continuent.sequoia.controller.backup.backupers.O
        ctopusBackuperquot;
                options=quot;zip=truequot;/>
            </Backup>
           (...)
            <DatabaseBackend name=quot;localhost1quot; 
        driver=quot;org.hsqldb.jdbcDriverquot;
              url=quot;jdbc:hsqldb:hsql://localhost:9001quot;
              connectionTestStatement=quot;call now()quot;>
              <ConnectionManager vLogin=quot;userquot; rLogin=quot;TESTquot; 
        rPassword=quot;quot;>
                <VariablePoolConnectionManager initPoolSize=quot;10quot; 
        minPoolSize=quot;5quot;
                  maxPoolSize=quot;50quot; idleTimeout=quot;30quot; waitTimeout=quot;10quot;/>
              </ConnectionManager>
            </DatabaseBackend>
                                                 

Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
Resultados obtidos

           Identificar qual solução consegue satifazer 
       


           nossos pré­requisitos de disponibilidade e 
           desempenho;




           Vamos aos números...
       




                                         

Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
Resultados obtidos com pgpool­II
                      PGPOOL     DIFF
       TPS     RPS
                        TPS     PGPOOL
       1557    8200     934     -40,01%
       1583    8158     950     -39,99%
       1547    8152     928     -40,01%
       1579    8178     947     -40,03%
       1568    8185     941     -39,99%
       1566    8145     940     -39,97%
       1547    8138     928     -40,01%
       1580    8206     948     -40,00%
       1574    8231     944     -40,03%
       1573    8159     944     -39,99%
       1581    8218     949     -39,97%
       1533    8224     920     -39,99%
       1522    8228     913     -40,01%
       1480    8198     888     -40,00%
       1560    8137     936     -40,00%
       1550    8161     930     -40,00%
       1582    8146     949     -40,01%
       1581    8177     949     -39,97%
       1588    8126     953     -39,99%
       1566    8140     940     -39,97%
                                           
       1561   8175      937

Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
Resultados obtidos com pgpool­II
                      PGPOOL       DIFF 
       TPS    RPS
                        TPS      PGPOOL
       2512   11197    1507      ­40,01%
       2497   11185     1498     ­40,01%
       2463   11215     1478     ­39,99%
       2506   11211     1504     ­39,98%
       2529   11220     1517     ­40,02%
       2528   11154     1517     ­39,99%
       2520   11171     1512     ­40,00%
       2521   11152     1513     ­39,98%
       2532   11192     1519     ­40,01%
       2496   11178     1498     ­39,98%
       2502   11182     1501     ­40,01%
       2486   11161     1492     ­39,98%
       2508   11185     1505




                                         

Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
Resultados obtidos com pgpool­II
                            PGPOOL      DIFF 
            TPS     RPS
                              TPS     PGPOOL
            2572    11241     1543    ­40,01%
            2571    11288    1543     ­39,98%
            2550    11245    1530     ­40,00%
            2587    11233    1552     ­40,01%
            2566    11231    1540     ­39,98%
            2545    11237    1527     ­40,00%
            2582    11306    1549     ­40,01%
            2554    11229    1532     ­40,02%
            2582    11283    1549     ­40,01%
            2546    11252    1528     ­39,98%
            2558    11239    1535     ­39,99%
            2588    11269    1553     ­39,99%
            2539    11256    1523     ­40,02%
            2565    11271    1539     ­40,00%
            2572    11274    1543     ­40,01%
            2551    11238    1531     ­39,98%
            2577    11247    1546     ­40,01%
            2535    11287    1521     ­40,00%
            2575    11223    1545     ­40,00%
            2534    11303    1520     ­40,02%
            2574    11279    1544     ­40,02%
            2554    11291    1532     ­40,02%
            2558    11240    1535     ­39,99%
                                              
            2562    11259    1537
Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
Resultados obtidos com sequoia
                       SEQUOIA      DIFF
        TPS     RPS
                         TPS     PGSEQUOIA
        1557    8200      814     -47,72%
        1583    8158      828     -47,69%
        1547    8152      809     -47,71%
        1579    8178      826     -47,69%
        1568    8185      820     -47,70%
        1566    8145      819     -47,70%
        1547    8138      809     -47,71%
        1580    8206      826     -47,72%
        1574    8231      823     -47,71%
        1573    8159      823     -47,68%
        1581    8218      827     -47,69%
        1533    8224      802     -47,68%
        1522    8228      796     -47,70%
        1480    8198      774     -47,70%
        1560    8137      816     -47,69%
        1550    8161      811     -47,68%
        1582    8146      827     -47,72%
        1581    8177      827     -47,69%
        1588    8126      831     -47,67%
        1566    8140      819     -47,70%
                                         
        1561    8175     816

Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
Resultados obtidos com sequoia
                           SEQUOIA              DIFF 
       TPS       RPS
                             TPS            PGSEQUOIA
       2512      11197       955              ­61,98%
       2497      11185       949              ­61,99%
       2463      11215       935              ­62,04%
       2506      11211       952              ­62,01%
       2529      11220       962              ­61,96%
       2528      11154       961              ­61,99%
       2520      11171       958              ­61,98%
       2521      11152       958              ­62,00%
       2532      11192       963              ­61,97%
       2496      11178       948              ­62,02%
       2502      11182       951              ­61,99%
       2486      11161       944              ­62,03%
       2508      11185       953
                                         

Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
Resultados obtidos com sequoia
                                  SEQUOIA        DIFF 
                 TPS      RPS
                                    TPS      PGSEQUOIA
                2572      11241     1008       ­60,81%
                2571      11288     1007       ­60,83%
                2550      11245     999        ­60,82%
                2587      11233     1014       ­60,80%
                2566      11231     1005       ­60,83%
                2545      11237      997       ­60,83%
                2582      11306     1011       ­60,84%
                2554      11229     1001       ­60,81%
                2582      11283     1012       ­60,81%
                2546      11252      997       ­60,84%
                2558      11239     1002       ­60,83%
                2588      11269     1014       ­60,82%
                2539      11256      994       ­60,85%
                2565      11271     1004       ­60,86%
                2572      11274     1007       ­60,85%
                2551      11238      999       ­60,84%
                2577      11247     1009       ­60,85%
                2535      11287      992       ­60,87%
                2575      11223     1009       ­60,82%
                2534      11303      993       ­60,81%
                2574      11279     1009       ­60,80%
                2554      11291     1001       ­60,81%
                2558      11240     1001       ­60,87%
                                        
                2562      11259     1004

Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
Resultados obtidos
                                               PGPOOL        SEQUOIA 
                           TPS       RPS
                                                 TPS           TPS
   Média                2506,431   11123,570   1503,856       986,853
   Média Harmonica      2478,442   11071,438   1487,066       984,572
   Média Geométrica     2494,435   11099,975   1496,660       985,765
   Desvio Padrão         93,147     278,886     55,875        29,566

                       3000,000




                       2500,000




                       2000,000


                                                                              Média
                       1500,000                                               Média Harmonica
                                                                              Média Geométrica
                                                                              Desvio Padrão
                       1000,000




                        500,000




                          0,000
                                   TPS          PGPOOL TPS      SEQUOIA TPS
                                                  

Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
Gráfico comparativo entre o cenário 
                com e sem pgpool­II
  12000




  10000




   8000




   6000




   4000




   2000




        0



                           TPS     RPS       PGPOOL TPS
                                          

Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
Gráfico comparativo entre o cenário 
                com e sem sequoia
  12000




  10000




   8000




   6000




   4000




   2000




        0



                             TPS   RPS       SEQUOIA TPS

                                          

Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
Conclusões obtidas
           O ganho no balanceamento de consultas não é 
       


           surpreendente;
           O cenário com pgpool­II não garante alta 
       


           disponibilidade caso ele próprio falhe;
           O cenário com o sequoia exige o uso de mais 
       


           servidores, ou utilização dos próprios 
           servidores de banco ou de aplicação para 
           executar;
           Queda substancial na escrita de dados;
       



           Criação de mais pontos de falhas;
       
                                 

Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
Finalizando
           Solução proposta pela NTT;
       



           Discussão na lista pgsql­hackers entre Greg 
       


           Smith, Itagaki Takahiro, Markus Wanner;
           Testar RAIDb­2 do sequoia;
       



           679000000 Transações
       



           271600 Segundos
       



           75,44 Horas
       



           25,15 Dias
       



                                         

Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
Referências

       http://pgpool.projects.postgresql.org/
   



       http://pgpool.projects.postgresql.org/tutorial­en.html
   



       http://www.slony.info/
   



       http://www.postgresql.org/about/news.679
   



       https://forge.continuent.org/projects/sequoia/
   



       https://forge.continuent.org/plugins/scmcvs/viewcvs.php/sequoia/doc/?root=sequoia
   



       http://pgfoundry.org/projects/pgcluster/
   



       http://pgfoundry.org/projects/plproxy/
   



       http://kaiv.wordpress.com/2007/07/27/postgresql­cluster­partitioning­with­plproxy­part­i/
   



       https://developer.skype.com/SkypeGarage/DbProjects/PlProxy
   




                                                   

Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
Questionamentos




                                   ?

                                         

Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
Replicação Síncrona
    quot;Não existe almoço grátisquot;

    Dickson S. Guedes <guediz@gmail.com>

    http://makeall.wordpress.com
    http://planeta.postgresql.org.br
    irc://irc.freenode.net/#postgresql
    irc://irc.freenode.net/#postgresql-br




                          PGCon Brasil 2008
                       

Weitere ähnliche Inhalte

Mehr von Dickson S. Guedes

Dicas de sobrevivência de um DBA sem mouse
Dicas de sobrevivência de um DBA sem mouseDicas de sobrevivência de um DBA sem mouse
Dicas de sobrevivência de um DBA sem mouseDickson S. Guedes
 
Como encontrar uma agulha num palheiro de logs
Como encontrar uma agulha num palheiro de logsComo encontrar uma agulha num palheiro de logs
Como encontrar uma agulha num palheiro de logsDickson S. Guedes
 
Como encontrar uma agulha no palheiro de logs do PostgreSQL
Como encontrar uma agulha no palheiro de logs do PostgreSQLComo encontrar uma agulha no palheiro de logs do PostgreSQL
Como encontrar uma agulha no palheiro de logs do PostgreSQLDickson S. Guedes
 
Gerenciando múltiplas versões do PostgreSQL com pgvm
Gerenciando múltiplas versões do PostgreSQL com pgvmGerenciando múltiplas versões do PostgreSQL com pgvm
Gerenciando múltiplas versões do PostgreSQL com pgvmDickson S. Guedes
 
PGXN - Como distribuir suas extensões com o PostgreSQL
PGXN - Como distribuir suas extensões com o PostgreSQLPGXN - Como distribuir suas extensões com o PostgreSQL
PGXN - Como distribuir suas extensões com o PostgreSQLDickson S. Guedes
 
Estripando o Elefante - (Trabalhando com extensões no PostgreSQL)
Estripando o Elefante - (Trabalhando com extensões no PostgreSQL)Estripando o Elefante - (Trabalhando com extensões no PostgreSQL)
Estripando o Elefante - (Trabalhando com extensões no PostgreSQL)Dickson S. Guedes
 
Plante uma árvore, escreva um livro, tenha um filho e contribua com software ...
Plante uma árvore, escreva um livro, tenha um filho e contribua com software ...Plante uma árvore, escreva um livro, tenha um filho e contribua com software ...
Plante uma árvore, escreva um livro, tenha um filho e contribua com software ...Dickson S. Guedes
 
Conhecendo Postgresql.- ENECOMP 2009
Conhecendo Postgresql.- ENECOMP 2009Conhecendo Postgresql.- ENECOMP 2009
Conhecendo Postgresql.- ENECOMP 2009Dickson S. Guedes
 
Minicurso Postgresql - Enecomp 2009
Minicurso Postgresql - Enecomp 2009Minicurso Postgresql - Enecomp 2009
Minicurso Postgresql - Enecomp 2009Dickson S. Guedes
 
Testes unitarios no PostgreSQL com pgTAP
Testes unitarios no PostgreSQL com pgTAPTestes unitarios no PostgreSQL com pgTAP
Testes unitarios no PostgreSQL com pgTAPDickson S. Guedes
 
pgScript: um Elefante de barriga cheia
pgScript: um Elefante de barriga cheiapgScript: um Elefante de barriga cheia
pgScript: um Elefante de barriga cheiaDickson S. Guedes
 
Replicacaoo Sincrona e Alta-Disponibilidade com PostgreSQL
Replicacaoo Sincrona e Alta-Disponibilidade com PostgreSQLReplicacaoo Sincrona e Alta-Disponibilidade com PostgreSQL
Replicacaoo Sincrona e Alta-Disponibilidade com PostgreSQLDickson S. Guedes
 

Mehr von Dickson S. Guedes (16)

Dicas de sobrevivência de um DBA sem mouse
Dicas de sobrevivência de um DBA sem mouseDicas de sobrevivência de um DBA sem mouse
Dicas de sobrevivência de um DBA sem mouse
 
Destistificando o EXPLAIN
Destistificando o EXPLAIN Destistificando o EXPLAIN
Destistificando o EXPLAIN
 
Falando "Postgrês"
Falando "Postgrês"Falando "Postgrês"
Falando "Postgrês"
 
O Elefante Poliglota
O Elefante PoliglotaO Elefante Poliglota
O Elefante Poliglota
 
Como encontrar uma agulha num palheiro de logs
Como encontrar uma agulha num palheiro de logsComo encontrar uma agulha num palheiro de logs
Como encontrar uma agulha num palheiro de logs
 
Como encontrar uma agulha no palheiro de logs do PostgreSQL
Como encontrar uma agulha no palheiro de logs do PostgreSQLComo encontrar uma agulha no palheiro de logs do PostgreSQL
Como encontrar uma agulha no palheiro de logs do PostgreSQL
 
Gerenciando múltiplas versões do PostgreSQL com pgvm
Gerenciando múltiplas versões do PostgreSQL com pgvmGerenciando múltiplas versões do PostgreSQL com pgvm
Gerenciando múltiplas versões do PostgreSQL com pgvm
 
PGXN - Como distribuir suas extensões com o PostgreSQL
PGXN - Como distribuir suas extensões com o PostgreSQLPGXN - Como distribuir suas extensões com o PostgreSQL
PGXN - Como distribuir suas extensões com o PostgreSQL
 
Pgxn.pgday
Pgxn.pgdayPgxn.pgday
Pgxn.pgday
 
Estripando o Elefante - (Trabalhando com extensões no PostgreSQL)
Estripando o Elefante - (Trabalhando com extensões no PostgreSQL)Estripando o Elefante - (Trabalhando com extensões no PostgreSQL)
Estripando o Elefante - (Trabalhando com extensões no PostgreSQL)
 
Plante uma árvore, escreva um livro, tenha um filho e contribua com software ...
Plante uma árvore, escreva um livro, tenha um filho e contribua com software ...Plante uma árvore, escreva um livro, tenha um filho e contribua com software ...
Plante uma árvore, escreva um livro, tenha um filho e contribua com software ...
 
Conhecendo Postgresql.- ENECOMP 2009
Conhecendo Postgresql.- ENECOMP 2009Conhecendo Postgresql.- ENECOMP 2009
Conhecendo Postgresql.- ENECOMP 2009
 
Minicurso Postgresql - Enecomp 2009
Minicurso Postgresql - Enecomp 2009Minicurso Postgresql - Enecomp 2009
Minicurso Postgresql - Enecomp 2009
 
Testes unitarios no PostgreSQL com pgTAP
Testes unitarios no PostgreSQL com pgTAPTestes unitarios no PostgreSQL com pgTAP
Testes unitarios no PostgreSQL com pgTAP
 
pgScript: um Elefante de barriga cheia
pgScript: um Elefante de barriga cheiapgScript: um Elefante de barriga cheia
pgScript: um Elefante de barriga cheia
 
Replicacaoo Sincrona e Alta-Disponibilidade com PostgreSQL
Replicacaoo Sincrona e Alta-Disponibilidade com PostgreSQLReplicacaoo Sincrona e Alta-Disponibilidade com PostgreSQL
Replicacaoo Sincrona e Alta-Disponibilidade com PostgreSQL
 

Replicacao Sincrona "Nao existe almoco gratis!"

  • 1. Replicação Síncrona quot;Não existe almoço grátisquot; Conhecer o que você precisa, planejar, criar cenários de  testes, interpretar os resultados obtidos,  são passos  fundamentais para uma tomada de decisão que assombra os  administradores de muitos ambientes:  A implementação de uma solução de replicação síncrona. Dickson S. Guedes http://makeall.wordpress.com PGCon Brasil 2008    
  • 2. Problematização Qual é o nosso problema?  Quais soluções buscamos?  Qual é a nossa estrutura?  Quais os cenários podemos testar?  Qual o custo/benefício de cada um?  Quais os resultados obtidos?      Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
  • 3. Qual o nosso problema? Nossa aplicação por si só não integra   mecanismos de tolerância a falhas. Dados armazenados altamente voláteis,   transacionais; Sistema OLTP de missão crítica;      Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
  • 4. Qual é a nossa estrutura? 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 Aplicação ● 2x PowerPC 970MP 2.5GHz / 2.3GHz Dual Core; ● 12 GB MEM PC2-3200 CL3 ECC DDR2 SDRAM RDIMM; ● 2 x HD de 73GB 10K SFF SAS; ● Dual Gigabit Ethernet Integrado; ● RAID-0 ou -1 integrado padrão no servidor blade, RAID-1E; 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;     Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
  • 5. Qual é a nossa estrutura? 2 Servidores IBM modelo System x3200 Servidor WEB 1 1.87GHz Intel Xeon 3040 Dual Core Cache L2: 2MB; 1 GB Memória ECC DDR2-667 DIMM PC2-5300 expansível a 08GB; 2 HD`s de 80GB 7200 rpm Simple-Swap SATA HDD; 2 Adaptadores Gigabit Ethernet 10/100/1000; Interface do disco SATA Simple-Swap; Controladora: SATA 4 Port; 01 Storage IBM modelo DS4700 Express 2GB de cache; 9 x discos 300GB 2 Gbps, 10K RPM; Implementa RAID 0,1, 1+0 e 5; 4 portas Fibre Channel 4Gbps; 2 Storage Partitions Activation; Host Kit Linux/Intel; 4 x Fibre Cable 5m Multimode (LC-LC); Suporte para até 112 discos; Integração com o IBM Director; Garantia de 03 anos on-site 24 x 7, atendimento em 4 horas.     Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
  • 6. Quais soluções buscamos? Assegurar a integridade de qualquer alteração   realizada a qualquer intervalo de tempo; Minimizar o risco de indisponibilidade do   ambiente; Atingir disponibilidade inicial de 99%                                (~3,5dias/ano ou ~7h/mês)     Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
  • 7. Planejamento Que aplicações requerem alta disponibilidade?  Qual o nível de serviço requerido por essas   aplicações? Quais são os pontos de falhas em potencial no   ambiente e como eles podem ser  identificados?     Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
  • 8. Planejamento Quais os pontos de falhas podem ser   automaticamente identificados?  Quais deles necessitam de uma customização   para disparar um evento de recuperação? Qual o nível de conhecimento existente   do grupo que implementará e manterá este ambiente?     Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
  • 9. Planejamento Quantos nós são necessários para suportar a   aplicação? Como os clientes conectam­se à aplicação?  Qual configuração de rede possuímos?      Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
  • 10. Quem precisa estar envolvido? Administrador de Redes  Administrador de SO  Adminsitrador da Aplicação  Administrador de Banco de Dados  Arquitetos e Analistas da Aplicação  Suporte  Usuários da aplicação      Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
  • 11. Cenário ideal NLB WEB01 WEB02 WEB01 WEB02 APP01 APP02 APP01 APP02 BD01 BD02 BD01 BD02 SAN SAN SAN SAN     Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
  • 12. Cenário ideal NLB WEB01 WEB02 WEB01 WEB02 APP01 APP02 APP01 APP02 Não podemos BD01 BD02 BD01 BD02 abraçar o mundo no momento... SAN SAN SAN SAN     Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
  • 13. Cenário ideal reduzido NLB WEB01 WEB02 APP01 APP02 BD01 BD02 SAN SAN     Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
  • 14. Cenário ideal NLB Sem NLB! ”:( WEB01 WEB02 APP01 APP02 PostgreSQL sozinho não suporta replicação! ”:( BD01 BD02 SAN SAN     Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
  • 15. Cenário ideal reduzido ROUND ROBIN WEB01 WEB02 mod_jk APP01 APP02 QUEM?? BD01 BD02 SAN     Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
  • 16. Soluções aproximadas Middlewares que trabalhem entre servidores   PostgreSQL e softwares clientes Candidatos:  pgpool­II  Sequoia  Existem outras soluções?  pgcluster, pl/proxy, ...      Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
  • 17. Características do pgpool­II Limita conexões excedentes;  Pool de conexões;  Replicação até 128 nós;  Balanceamento de carga em consultas;  Consultas paralelas;  Tolerância a falhas transparente para os   clientes ; Nível de complexidade do restore alto;      Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
  • 18. Características do sequoia Replicação via driver JDBC próprio;  Necessidade de um ou mais controladores;  Balanceamento de carga em consultas;  Consultas paralelas;  Tolerância a falhas transparentes para os   clientes; Nível de complexidade do restore baixo;      Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
  • 19. Preparação do cenário de testes Estrutura original do piloto no novo ambiente  Uso do pgScript para criação de massa de   dados (~50GB) Escolha de uma amostra de instruções do   próprio sistema; Etapa 1: 50 con. 1.000.000 transac.  Etapa 2: 100 con. 1.500.000 transac.  Etapa 3: 100 con. 2.000.000 transac.      Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
  • 20. Cenário utilizando pgpool­II ROUND ROBIN WEB01 WEB02 APP01 APP02 pgpool­II BD01 BD02 SAN     Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
  • 21. Cenário utilizando pgpool­II ROUND ROBIN  Uma instância do pgpool  ● pode estar conectada a n  WEB01 WEB02 backends;  Um ponto único de falha; ●  Pode ser criada uma árvore; APP01 APP02 ●  Velocidade de transação  ● pgpool­II restrita ao nó mais lento; BD01 BD02  Retornamos à estaca zero? ●  Storage sub­utilizado? ● SAN     Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
  • 22. Exemplo configuração pgpool­II # Master node info backend_hostname0 = ‘localhost’ backend_port0 = 5432 backend_data_directory0 = ‘/home/y­asaba/demo/5432/data’ # Secondary node info backend_hostname1 = ‘localhost’ backend_port1 = 5433 backend_data_directory1 = ‘/home/y­asaba/demo/5433/data’ # Enable replication replication_mode = true # Enable load balance load_balance_mode = true # Online recovery user recovery_user = ‘y­asaba’ # The first stage script recovery_1st_stage_command = ‘base­backup.sh’ # The second stage script recovery_2nd_stage_command = ‘pgpool­recovery’     Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
  • 23. Cenário utilizando sequoia ROUND ROBIN WEB01 WEB02 APP01 APP02 JDBC JDBC sequoia sequoia BD01 BD02 SAN     Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
  • 24. Cenário utilizando sequoia ROUND ROBIN  Várias instâncias do  ● sequoia podem estar  WEB01 WEB02 conectada a n backends;  Pontos de falha distribuídos; ●  Níveis de RAIDb (0, 1, 2) APP01 APP02 ● JDBC JDBC  Velocidade de transação  ● sequoia sequoia restrita ao nó mais lento; BD01 BD02  Retornamos à estaca zero? ●  Storage sub­utilizado? ● SAN     Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
  • 25. Exemplo configuração sequoia CONTROLLER.XML <?xml version=quot;1.0quot; encoding=quot;UTF­8quot; ?> <!DOCTYPE SEQUOIA­CONTROLLER PUBLIC  quot;­//Continuent//DTD SEQUOIA­ CONTROLLER @VERSION@//ENquot;  quot;http://sequoia.continuent.org/dtds/sequoia­ controller­@VERSION@.dtdquot;> <SEQUOIA­CONTROLLER>   <Controller ipAddress=quot;127.0.0.1quot; port=quot;25322quot;>     <JmxSettings>        <RmiJmxAdaptor port=quot;1090quot;/>     </JmxSettings>     <VirtualDatabase configFile=quot;hsqldb­raidb1­ distribution­1.xmlquot;       virtualDatabaseName=quot;myDBquot;  autoEnableBackends=quot;truequot;/>   </Controller> </SEQUOIA­CONTROLLER>     Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
  • 26. Exemplo configuração sequoia VIRTUALDATABASE.XML <?xml version=quot;1.0quot; encoding=quot;UTF­8quot;?> (...)     <Backup>       <Backuper backuperName=quot;Octopusquot;          className=quot;org.continuent.sequoia.controller.backup.backupers.O ctopusBackuperquot;         options=quot;zip=truequot;/>     </Backup>    (...)     <DatabaseBackend name=quot;localhost1quot;  driver=quot;org.hsqldb.jdbcDriverquot;       url=quot;jdbc:hsqldb:hsql://localhost:9001quot;       connectionTestStatement=quot;call now()quot;>       <ConnectionManager vLogin=quot;userquot; rLogin=quot;TESTquot;  rPassword=quot;quot;>         <VariablePoolConnectionManager initPoolSize=quot;10quot;  minPoolSize=quot;5quot;           maxPoolSize=quot;50quot; idleTimeout=quot;30quot; waitTimeout=quot;10quot;/>       </ConnectionManager>     </DatabaseBackend>     Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
  • 27. Resultados obtidos Identificar qual solução consegue satifazer   nossos pré­requisitos de disponibilidade e  desempenho; Vamos aos números...      Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
  • 28. Resultados obtidos com pgpool­II PGPOOL DIFF TPS RPS TPS PGPOOL 1557 8200 934 -40,01% 1583 8158 950 -39,99% 1547 8152 928 -40,01% 1579 8178 947 -40,03% 1568 8185 941 -39,99% 1566 8145 940 -39,97% 1547 8138 928 -40,01% 1580 8206 948 -40,00% 1574 8231 944 -40,03% 1573 8159 944 -39,99% 1581 8218 949 -39,97% 1533 8224 920 -39,99% 1522 8228 913 -40,01% 1480 8198 888 -40,00% 1560 8137 936 -40,00% 1550 8161 930 -40,00% 1582 8146 949 -40,01% 1581 8177 949 -39,97% 1588 8126 953 -39,99% 1566 8140 940 -39,97%     1561 8175 937 Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
  • 29. Resultados obtidos com pgpool­II PGPOOL  DIFF  TPS RPS TPS PGPOOL 2512 11197 1507 ­40,01% 2497 11185 1498 ­40,01% 2463 11215 1478 ­39,99% 2506 11211 1504 ­39,98% 2529 11220 1517 ­40,02% 2528 11154 1517 ­39,99% 2520 11171 1512 ­40,00% 2521 11152 1513 ­39,98% 2532 11192 1519 ­40,01% 2496 11178 1498 ­39,98% 2502 11182 1501 ­40,01% 2486 11161 1492 ­39,98% 2508 11185 1505     Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
  • 30. Resultados obtidos com pgpool­II PGPOOL  DIFF  TPS RPS TPS PGPOOL 2572 11241 1543 ­40,01% 2571 11288 1543 ­39,98% 2550 11245 1530 ­40,00% 2587 11233 1552 ­40,01% 2566 11231 1540 ­39,98% 2545 11237 1527 ­40,00% 2582 11306 1549 ­40,01% 2554 11229 1532 ­40,02% 2582 11283 1549 ­40,01% 2546 11252 1528 ­39,98% 2558 11239 1535 ­39,99% 2588 11269 1553 ­39,99% 2539 11256 1523 ­40,02% 2565 11271 1539 ­40,00% 2572 11274 1543 ­40,01% 2551 11238 1531 ­39,98% 2577 11247 1546 ­40,01% 2535 11287 1521 ­40,00% 2575 11223 1545 ­40,00% 2534 11303 1520 ­40,02% 2574 11279 1544 ­40,02% 2554 11291 1532 ­40,02% 2558 11240 1535 ­39,99%     2562 11259 1537 Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
  • 31. Resultados obtidos com sequoia SEQUOIA DIFF TPS RPS TPS PGSEQUOIA 1557 8200 814 -47,72% 1583 8158 828 -47,69% 1547 8152 809 -47,71% 1579 8178 826 -47,69% 1568 8185 820 -47,70% 1566 8145 819 -47,70% 1547 8138 809 -47,71% 1580 8206 826 -47,72% 1574 8231 823 -47,71% 1573 8159 823 -47,68% 1581 8218 827 -47,69% 1533 8224 802 -47,68% 1522 8228 796 -47,70% 1480 8198 774 -47,70% 1560 8137 816 -47,69% 1550 8161 811 -47,68% 1582 8146 827 -47,72% 1581 8177 827 -47,69% 1588 8126 831 -47,67% 1566 8140 819 -47,70%     1561 8175 816 Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
  • 32. Resultados obtidos com sequoia SEQUOIA  DIFF  TPS RPS TPS PGSEQUOIA 2512 11197 955 ­61,98% 2497 11185 949 ­61,99% 2463 11215 935 ­62,04% 2506 11211 952 ­62,01% 2529 11220 962 ­61,96% 2528 11154 961 ­61,99% 2520 11171 958 ­61,98% 2521 11152 958 ­62,00% 2532 11192 963 ­61,97% 2496 11178 948 ­62,02% 2502 11182 951 ­61,99% 2486 11161 944 ­62,03% 2508 11185 953     Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
  • 33. Resultados obtidos com sequoia SEQUOIA  DIFF  TPS RPS TPS PGSEQUOIA 2572 11241 1008 ­60,81% 2571 11288 1007 ­60,83% 2550 11245 999 ­60,82% 2587 11233 1014 ­60,80% 2566 11231 1005 ­60,83% 2545 11237 997 ­60,83% 2582 11306 1011 ­60,84% 2554 11229 1001 ­60,81% 2582 11283 1012 ­60,81% 2546 11252 997 ­60,84% 2558 11239 1002 ­60,83% 2588 11269 1014 ­60,82% 2539 11256 994 ­60,85% 2565 11271 1004 ­60,86% 2572 11274 1007 ­60,85% 2551 11238 999 ­60,84% 2577 11247 1009 ­60,85% 2535 11287 992 ­60,87% 2575 11223 1009 ­60,82% 2534 11303 993 ­60,81% 2574 11279 1009 ­60,80% 2554 11291 1001 ­60,81% 2558 11240 1001 ­60,87%     2562 11259 1004 Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
  • 34. Resultados obtidos PGPOOL  SEQUOIA  TPS RPS TPS TPS Média 2506,431 11123,570 1503,856 986,853 Média Harmonica 2478,442 11071,438 1487,066 984,572 Média Geométrica 2494,435 11099,975 1496,660 985,765 Desvio Padrão 93,147 278,886 55,875 29,566 3000,000 2500,000 2000,000 Média 1500,000 Média Harmonica Média Geométrica Desvio Padrão 1000,000 500,000 0,000 TPS PGPOOL TPS SEQUOIA TPS     Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
  • 35. Gráfico comparativo entre o cenário  com e sem pgpool­II 12000 10000 8000 6000 4000 2000 0 TPS RPS PGPOOL TPS     Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
  • 36. Gráfico comparativo entre o cenário  com e sem sequoia 12000 10000 8000 6000 4000 2000 0 TPS RPS SEQUOIA TPS     Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
  • 37. Conclusões obtidas O ganho no balanceamento de consultas não é   surpreendente; O cenário com pgpool­II não garante alta   disponibilidade caso ele próprio falhe; O cenário com o sequoia exige o uso de mais   servidores, ou utilização dos próprios  servidores de banco ou de aplicação para  executar; Queda substancial na escrita de dados;  Criação de mais pontos de falhas;      Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
  • 38. Finalizando Solução proposta pela NTT;  Discussão na lista pgsql­hackers entre Greg   Smith, Itagaki Takahiro, Markus Wanner; Testar RAIDb­2 do sequoia;  679000000 Transações  271600 Segundos  75,44 Horas  25,15 Dias      Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
  • 39. Referências http://pgpool.projects.postgresql.org/  http://pgpool.projects.postgresql.org/tutorial­en.html  http://www.slony.info/  http://www.postgresql.org/about/news.679  https://forge.continuent.org/projects/sequoia/  https://forge.continuent.org/plugins/scmcvs/viewcvs.php/sequoia/doc/?root=sequoia  http://pgfoundry.org/projects/pgcluster/  http://pgfoundry.org/projects/plproxy/  http://kaiv.wordpress.com/2007/07/27/postgresql­cluster­partitioning­with­plproxy­part­i/  https://developer.skype.com/SkypeGarage/DbProjects/PlProxy      Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
  • 40. Questionamentos ?     Dickson S. Guedes - http://makeall.wordpress.com - PGCon Brasil 2008
  • 41. Replicação Síncrona quot;Não existe almoço grátisquot; Dickson S. Guedes <guediz@gmail.com> http://makeall.wordpress.com http://planeta.postgresql.org.br irc://irc.freenode.net/#postgresql irc://irc.freenode.net/#postgresql-br PGCon Brasil 2008