Multi-core Parallelization in Clojure - a Case Study
Replicação de dados
1. 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
2. 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
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
9. 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
11. 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
12. 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
13. Passos
Passo 5
Criação do conjunto de replicação (no nodo mestre)
28
14. 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