Replicação de dados
Vantagens e desvantagens
  Disponibilidade (+)
  Paralelismo aumentado (+): maior a chance de
  encontrar o dado no site em que a transação está
  executando
  Sobrecarga na atualização (-): garantir que as
  réplicas sejam consistentes pela propagação de
  atualizações



                                                     16
Definição
Replicação é a manutenção de cópias idênticas
de dados em locais diferentes.
Segundo [Ikematu 2005], o objetivo de um
mecanismo de replicação de dados é permitir a
manutenção de várias cópias idênticas de um
mesmo dado em vários sistemas gerenciadores
de banco de dados (SGBD).



                                            17
Tipos de replicação
Assíncrona: se um banco é alterado, a
alteração será propagada e aplicada para
outro(s) banco(s) num segundo passo, dentro
de uma transação separada sendo que esta
poderá ocorrer segundos, minutos, horas ou
até dias depois
Síncrona: todas as cópias ou replicações de
dados serão feitas no instante da sincronização
e consistência. Se alguma cópia do banco é
alterada, essa alteração será imediatamente
aplicada a todos os outros bancos             18
Técnicas de replicação
Master-slave (ou Single-Master Primary-Copy)
  Mantém uma das réplicas como sendo a primária
  As transações são efetuadas primeiramente na
  réplica primária e depois as alterações são
  distribuídas para as réplicas secundárias, na
  mesma ordem em que ela executou
  Pode ser tanto síncrona quanto assíncrona.




                                                  19
Técnicas de replicação
Multimaster (ou Update Everywhere)
  As transações de escrita podem ser submetidas a
  qualquer servidor, pois não existe uma cópia
  primária.
  No entanto, as alterações devem ser propagadas
  para todos os servidores que possuam cópia dos
  dados, o que aumenta a complexidade no controle
  de transações e exige um mecanismo mais
  elaborado de replicação
  Possibilita tanto replicação síncrona como
  assíncrona.
                                                    20
Ferramentas
Slony (integrado ao pgAdmin)
pgreplicator.sourceforge.net
PGCluster
Mammoth
Postgres-R




                               21
Comparação




             22
Slony-I
Integrado na árvore de objetos
do pgAdmin


Indicação do path da
ferramenta no menu
File->Options



                                 23
Passos
Passo 1: criação do cluster no nó mestre
  Conceito de nó adminis-
  trativo

  PgAdmin armazena infor-
  mações de como encon-
  trar cada nó do cluster




                                           24
Passos
Passo 2: Adicionar nós ao cluster (escravos)
  Processo de junção (join)




                                               25
Passos
Passo 3: Configurar paths de replicação entre
os nodos, para que possam se comunicar
Password no conninf ou no arquivo pgpass.conf
da pasta %APPDATA%postgresqlpgpass.conf
Estrutura do arquivo:
hostname:port:database:
  username:password
Paths em cada nodo
para todos os outros
                                                26
Passos
Passo 4: Criação de listens
A partir da versão 1.1 do Slony-I, eles são
criados automaticamente quando os paths são
definidos




                                          27
Passos
Passo 5
  Criação do conjunto de replicação (no nodo mestre)




                                                  28
Passos
Passo 6
Definir a tabela replicada
Se a tabela tiver triggers, elas devem ser
desabilitadas no nodo escravo
A tabela deve ter um
índice único (ou chave
primária)



                                             29
Passos
Definir a seqüência da tabela a ser replicada




                                                30
Passos
Passo 7
Definir a assinatura (devem, a partir da versão
1.1 ser criadas no nodo mestre)




                                                  31
Passos
Iniciar os daemons
C:Program FilesPostgreSQL8.2bin>slon
meucluster "dbname=postgres user=postgres
host=localhost port=5432 password=senha"




                                            32

Replicação de dados

  • 1.
    Replicação de dados Vantagense desvantagens Disponibilidade (+) Paralelismo aumentado (+): maior a chance de encontrar o dado no site em que a transação está executando Sobrecarga na atualização (-): garantir que as réplicas sejam consistentes pela propagação de atualizações 16
  • 2.
    Definição Replicação é amanutenção de cópias idênticas de dados em locais diferentes. Segundo [Ikematu 2005], o objetivo de um mecanismo de replicação de dados é permitir a manutenção de várias cópias idênticas de um mesmo dado em vários sistemas gerenciadores de banco de dados (SGBD). 17
  • 3.
    Tipos de replicação Assíncrona:se um banco é alterado, a alteração será propagada e aplicada para outro(s) banco(s) num segundo passo, dentro de uma transação separada sendo que esta poderá ocorrer segundos, minutos, horas ou até dias depois Síncrona: todas as cópias ou replicações de dados serão feitas no instante da sincronização e consistência. Se alguma cópia do banco é alterada, essa alteração será imediatamente aplicada a todos os outros bancos 18
  • 4.
    Técnicas de replicação Master-slave(ou Single-Master Primary-Copy) Mantém uma das réplicas como sendo a primária As transações são efetuadas primeiramente na réplica primária e depois as alterações são distribuídas para as réplicas secundárias, na mesma ordem em que ela executou Pode ser tanto síncrona quanto assíncrona. 19
  • 5.
    Técnicas de replicação Multimaster(ou Update Everywhere) As transações de escrita podem ser submetidas a qualquer servidor, pois não existe uma cópia primária. No entanto, as alterações devem ser propagadas para todos os servidores que possuam cópia dos dados, o que aumenta a complexidade no controle de transações e exige um mecanismo mais elaborado de replicação Possibilita tanto replicação síncrona como assíncrona. 20
  • 6.
    Ferramentas Slony (integrado aopgAdmin) pgreplicator.sourceforge.net PGCluster Mammoth Postgres-R 21
  • 7.
  • 8.
    Slony-I Integrado na árvorede objetos do pgAdmin Indicação do path da ferramenta no menu File->Options 23
  • 9.
    Passos Passo 1: criaçãodo cluster no nó mestre Conceito de nó adminis- trativo PgAdmin armazena infor- mações de como encon- trar cada nó do cluster 24
  • 10.
    Passos Passo 2: Adicionarnós ao cluster (escravos) Processo de junção (join) 25
  • 11.
    Passos Passo 3: Configurarpaths de replicação entre os nodos, para que possam se comunicar Password no conninf ou no arquivo pgpass.conf da pasta %APPDATA%postgresqlpgpass.conf Estrutura do arquivo: hostname:port:database: username:password Paths em cada nodo para todos os outros 26
  • 12.
    Passos Passo 4: Criaçãode listens A partir da versão 1.1 do Slony-I, eles são criados automaticamente quando os paths são definidos 27
  • 13.
    Passos Passo 5 Criação do conjunto de replicação (no nodo mestre) 28
  • 14.
    Passos Passo 6 Definir atabela replicada Se a tabela tiver triggers, elas devem ser desabilitadas no nodo escravo A tabela deve ter um índice único (ou chave primária) 29
  • 15.
    Passos Definir a seqüênciada tabela a ser replicada 30
  • 16.
    Passos Passo 7 Definir aassinatura (devem, a partir da versão 1.1 ser criadas no nodo mestre) 31
  • 17.
    Passos Iniciar os daemons C:ProgramFilesPostgreSQL8.2bin>slon meucluster "dbname=postgres user=postgres host=localhost port=5432 password=senha" 32