por Fábio Telles Rodriguez PostgreSQL Transformando um elefante numa manada 15 de Dezembro de 2005
Agenda Cluster em banco de dados - Stand By Tipos de replicação - Bancos de dados distribuídos Slony-I PG_Pool PG_Cluster Commit em duas fases Dúvidas
Alta disponibilidade, tolerância a falhas Stand By Replicação Balanceamento de carga, aumento de desempenho Pool de conexões Replicação Master/Slave Banco de dados Distribuídos (dblink) Cluster de Storage Cluster em Bancos de Dados
Vantagens Nativo a partir do PostgreSQL 8.0 Simples de implementar Baixo impacto na rede e no processamento Desvantagens Banco em Stand By não pode ser utilizado Tempo de recuperação do Stand By Implementação obrigatória de um agrupamento de Bancos de Dados inteiro. Stand By
Master/Slave assíncrona: Permite Tolerância a falhas com perda das últimas transações; Permite a distribuição da carga nas operações de leitura; Pode gerar inconsistência nos Slaves em relação ao Master; Gera tráfego considerável na rede. Tipos de Replicação
Master/Slave síncrona: Permite Tolerância a falhas; Permite a distribuição da carga nas operações de leitura; Garante a consistência entre as réplicas; Gera tráfego alto na rede. Tipos de Replicação
Multi Master síncrona: Garante a consistência entre as réplicas; Diminui a velocidade das transações, pois exige que ela seja confirmada em todas as réplicas; Permite o balanceamento de carga; Permite a tolerância a falhas; Gera alto tráfego na rede. Tipos de Replicação
“ Multi Master ” assíncrona: Necessita de uma base central; Realiza sincronização esporádica, com uma base central; Gera inconsistências locais; Aplicação tem de ser desenvolvida para este fim; Utilizado em aplicações instaladas em computadores portáteis; Tipos de Replicação
Cada site armazena dados relativo ao seu contexto; Cada site tem autonomia em relação aos demais; Operações locais são mais rápidas; SELECTs envolvendo dados de outros sites mais lentos e exigem otimização específica; Transações evolvendo dados de outros sites necessitam de controle de transação específico. Através de alterações no modelo físico, é possível tornar o modelo lógico transparente para a aplicação Bancos Distribuídos
Projeto de replicação Oficial do PostgreSQL; Replicação Master/Slave assíncrona; Tolerância a falhas com possível perda das últimas transações; Permite o cascateamento de replicas diminuindo o impacto na rede; Permite a criação de DUMPs que permitem a replicação para sincronia por meios diversos. Slony-I
Replica Tabelas e Sequências; Permite a execução de DDL de um ponto central para todas as réplicas; Utiliza Triggers e um Daemon chamado Slonik em cada réplica; Otimização na replicação de dados redundantes. Slony-I
Realiza um Pool de conexões ideal para aplicações WEB Aplicações se conectam ao PG_Pool ao invés do PostgreSQL de forma transparente; Replicação Master/Slave síncrona para até 2 servidores Possui um load balance para consultas; Implementação obrigatória de um agrupamento de Bancos de Dados inteiro. PG_Pool
Pode ser instalado num servidor separado dos bancos de dados, sem a necessidade de nenhuma configuração nestes. Replicação de seqüência exige lock de tabela; Controle de acesso do pg_hba.conf não pode ser utilizado; Permite se conectar a um servidor PostgreSQL replicado pelo Slony-I. PG_Pool
Replicação Multi Master síncrona; Balanceamento de carga e tolerância a falhas; Replica tabelas e sequências; Sincroniza bases que tenham perdido a sincronia através do rsync; Utiliza um servidor como Load Balance e um ou mais servidores como Replicadores e cada nó possui uma versão modificada do PostgreSQL; Utiliza um mínimo de 3 nós; Instalação é relativamente complexa. PG_Cluster
Disponível a partir da versão 8.1 do PostgreSQL; Permite a distribuição de uma transação para vários Bancos de Dados distintos através de uma WAN; Garante a integridade transações em replicações síncronas; Commit em duas fases
Apresentação de Bruce Momjiam: http://candle.pha.pa.us/main/writings/pgsql/replication.pdf Slony-I http://gborg.postgresql.org/project/slony1/projdisplay.php http://www.ntlug.org/~cbbrowne/slony.html PG_Pool http://pgpool.projects.postgresql.org/ http://pgfoundry.org/projects/pgpool/ PG_Cluster http://pgcluster.projects.postgresql.org/index.html Links
Listas de discussão: [email_address] [email_address] IRC irc.freenodes.net: #POSTGRESQL #POSTGRESQL-BR Dúvidas

PostgreSQL Transformando um elefante numa manada

  • 1.
    por Fábio TellesRodriguez PostgreSQL Transformando um elefante numa manada 15 de Dezembro de 2005
  • 2.
    Agenda Cluster em banco de dados - Stand By Tipos de replicação - Bancos de dados distribuídos Slony-I PG_Pool PG_Cluster Commit em duas fases Dúvidas
  • 3.
    Alta disponibilidade, tolerânciaa falhas Stand By Replicação Balanceamento de carga, aumento de desempenho Pool de conexões Replicação Master/Slave Banco de dados Distribuídos (dblink) Cluster de Storage Cluster em Bancos de Dados
  • 4.
    Vantagens Nativo apartir do PostgreSQL 8.0 Simples de implementar Baixo impacto na rede e no processamento Desvantagens Banco em Stand By não pode ser utilizado Tempo de recuperação do Stand By Implementação obrigatória de um agrupamento de Bancos de Dados inteiro. Stand By
  • 5.
    Master/Slave assíncrona: PermiteTolerância a falhas com perda das últimas transações; Permite a distribuição da carga nas operações de leitura; Pode gerar inconsistência nos Slaves em relação ao Master; Gera tráfego considerável na rede. Tipos de Replicação
  • 6.
    Master/Slave síncrona: PermiteTolerância a falhas; Permite a distribuição da carga nas operações de leitura; Garante a consistência entre as réplicas; Gera tráfego alto na rede. Tipos de Replicação
  • 7.
    Multi Master síncrona:Garante a consistência entre as réplicas; Diminui a velocidade das transações, pois exige que ela seja confirmada em todas as réplicas; Permite o balanceamento de carga; Permite a tolerância a falhas; Gera alto tráfego na rede. Tipos de Replicação
  • 8.
    “ Multi Master” assíncrona: Necessita de uma base central; Realiza sincronização esporádica, com uma base central; Gera inconsistências locais; Aplicação tem de ser desenvolvida para este fim; Utilizado em aplicações instaladas em computadores portáteis; Tipos de Replicação
  • 9.
    Cada site armazenadados relativo ao seu contexto; Cada site tem autonomia em relação aos demais; Operações locais são mais rápidas; SELECTs envolvendo dados de outros sites mais lentos e exigem otimização específica; Transações evolvendo dados de outros sites necessitam de controle de transação específico. Através de alterações no modelo físico, é possível tornar o modelo lógico transparente para a aplicação Bancos Distribuídos
  • 10.
    Projeto de replicaçãoOficial do PostgreSQL; Replicação Master/Slave assíncrona; Tolerância a falhas com possível perda das últimas transações; Permite o cascateamento de replicas diminuindo o impacto na rede; Permite a criação de DUMPs que permitem a replicação para sincronia por meios diversos. Slony-I
  • 11.
    Replica Tabelas eSequências; Permite a execução de DDL de um ponto central para todas as réplicas; Utiliza Triggers e um Daemon chamado Slonik em cada réplica; Otimização na replicação de dados redundantes. Slony-I
  • 12.
    Realiza um Poolde conexões ideal para aplicações WEB Aplicações se conectam ao PG_Pool ao invés do PostgreSQL de forma transparente; Replicação Master/Slave síncrona para até 2 servidores Possui um load balance para consultas; Implementação obrigatória de um agrupamento de Bancos de Dados inteiro. PG_Pool
  • 13.
    Pode ser instaladonum servidor separado dos bancos de dados, sem a necessidade de nenhuma configuração nestes. Replicação de seqüência exige lock de tabela; Controle de acesso do pg_hba.conf não pode ser utilizado; Permite se conectar a um servidor PostgreSQL replicado pelo Slony-I. PG_Pool
  • 14.
    Replicação Multi Mastersíncrona; Balanceamento de carga e tolerância a falhas; Replica tabelas e sequências; Sincroniza bases que tenham perdido a sincronia através do rsync; Utiliza um servidor como Load Balance e um ou mais servidores como Replicadores e cada nó possui uma versão modificada do PostgreSQL; Utiliza um mínimo de 3 nós; Instalação é relativamente complexa. PG_Cluster
  • 15.
    Disponível a partirda versão 8.1 do PostgreSQL; Permite a distribuição de uma transação para vários Bancos de Dados distintos através de uma WAN; Garante a integridade transações em replicações síncronas; Commit em duas fases
  • 16.
    Apresentação de BruceMomjiam: http://candle.pha.pa.us/main/writings/pgsql/replication.pdf Slony-I http://gborg.postgresql.org/project/slony1/projdisplay.php http://www.ntlug.org/~cbbrowne/slony.html PG_Pool http://pgpool.projects.postgresql.org/ http://pgfoundry.org/projects/pgpool/ PG_Cluster http://pgcluster.projects.postgresql.org/index.html Links
  • 17.
    Listas de discussão:[email_address] [email_address] IRC irc.freenodes.net: #POSTGRESQL #POSTGRESQL-BR Dúvidas