- 1. por Fbio Telles Rodriguez PostgreSQL Transformando um
elefante numa manada 15 de Dezembro de 2005
2. Agenda
- Cluster em banco de dados - Stand By
- Tipos de replicao - Bancos de dados distribudos
3.
- Alta disponibilidade, tolerncia a falhas
- Balanceamento de carga, aumento de desempenho
-
- Banco de dados Distribudos (dblink)
Cluster em Bancos de Dados 4.
-
- Nativo a partir do PostgreSQL 8.0
-
- Baixo impacto na rede e no processamento
-
- Banco em Stand By no pode ser utilizado
-
- Tempo de recuperao do Stand By
-
- Implementao obrigatria de um agrupamento de Bancos de Dados
inteiro.
Stand By 5.
-
- Permite Tolerncia a falhas com perda das ltimas transaes;
-
- Permite a distribuio da carga nas operaes de leitura;
-
- Pode gerar inconsistncia nos Slaves em relao ao Master;
-
- Gera trfego considervel na rede.
Tipos de Replicao 6.
-
- Permite Tolerncia a falhas;
-
- Permite a distribuio da carga nas operaes de leitura;
-
- Garante a consistncia entre as rplicas;
-
- Gera trfego alto na rede.
Tipos de Replicao 7.
-
- Garante a consistncia entre as rplicas;
-
- Diminui a velocidade das transaes, pois exige que ela seja
confirmada em todas as rplicas;
-
- Permite o balanceamento de carga;
-
- Permite a tolerncia a falhas;
-
- Gera alto trfego na rede.
Tipos de Replicao 8.
-
- Necessita de uma base central;
-
- Realiza sincronizao espordica, com uma base central;
-
- Gera inconsistncias locais;
-
- Aplicao tem de ser desenvolvida para este fim;
-
- Utilizado em aplicaes instaladas em computadores portteis;
Tipos de Replicao 9.
- Cada site armazena dados relativo ao seu contexto;
- Cada site tem autonomia em relao aos demais;
- Operaes locais so mais rpidas;
- SELECTs envolvendo dados de outros sites mais lentos e exigem
otimizao especfica;
- Transaes evolvendo dados de outros sites necessitam de controle
de transao especfico.
- Atravs de alteraes no modelo fsico, possvel tornar o modelo
lgico transparente para a aplicao
Bancos Distribudos 10.
- Projeto de replicao Oficial do PostgreSQL;
- Replicao Master/Slave assncrona;
- Tolerncia a falhas com possvel perda das ltimas transaes;
- Permite o cascateamento de replicas diminuindo o impacto na
rede;
- Permite a criao de DUMPs que permitem a replicao para sincronia
por meios diversos.
Slony-I 11.
- Replica Tabelas e Sequncias;
- Permite a execuo de DDL de um ponto central para todas as
rplicas;
- Utiliza Triggers e um Daemon chamado Slonik em cada
rplica;
- Otimizao na replicao de dados redundantes.
Slony-I 12.
- Realiza um Pool de conexes ideal para aplicaes WEB
- Aplicaes se conectam ao PG_Pool ao invs do PostgreSQL de forma
transparente;
- Replicao Master/Slave sncrona para at 2 servidores
- Possui um load balance para consultas;
- Implementao obrigatria de um agrupamento de Bancos de Dados
inteiro.
PG_Pool 13.
- Pode ser instalado num servidor separado dos bancos de dados,
sem a necessidade de nenhuma configurao nestes.
- Replicao de seqncia exige lock de tabela;
- Controle de acesso do pg_hba.conf no pode ser utilizado;
- Permite se conectar a um servidor PostgreSQL replicado pelo
Slony-I.
PG_Pool 14.
- Replicao Multi Master sncrona;
- Balanceamento de carga e tolerncia a falhas;
- Replica tabelas e sequncias;
- Sincroniza bases que tenham perdido a sincronia atravs do
rsync;
- Utiliza um servidor como Load Balance e um ou mais servidores
como Replicadores e cada n possui uma verso modificada do
PostgreSQL;
- Utiliza um mnimo de 3 ns;
- Instalao relativamente complexa.
PG_Cluster 15.
- Disponvel a partir da verso 8.1 do PostgreSQL;
- Permite a distribuio de uma transao para vrios Bancos de Dados
distintos atravs de uma WAN;
- Garante a integridade transaes em replicaes sncronas;
Commit em duas fases 16.
- Apresentao de Bruce Momjiam:
-
-
http://candle.pha.pa.us/main/writings/pgsql/replication.pdf
-
- http://gborg.postgresql.org/project/slony1/projdisplay.php
-
- http://www.ntlug.org/~cbbrowne/slony.html
-
- http://pgpool.projects.postgresql.org/
-
- http://pgfoundry.org/projects/pgpool/
-
- http://pgcluster.projects.postgresql.org/index.html
Links 17.
Dvidas