SlideShare une entreprise Scribd logo
1  sur  17
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

ORIENTAÇÃO DE TCC
ORIENTAÇÃO DE TCCORIENTAÇÃO DE TCC
ORIENTAÇÃO DE TCCUFMA e UEMA
 
Ficheiros em C
Ficheiros em CFicheiros em C
Ficheiros em CBaguiasri
 
Integração office, word, excel, power point
Integração office, word, excel, power pointIntegração office, word, excel, power point
Integração office, word, excel, power pointJames Moreira
 
Redes de computadores
Redes de computadoresRedes de computadores
Redes de computadoresJakson Silva
 
Sistema operativo servidor
Sistema operativo servidorSistema operativo servidor
Sistema operativo servidorSandu Postolachi
 
Informática Básica - Aula 05 - Sistema Operacional Windows
Informática Básica - Aula 05 - Sistema Operacional WindowsInformática Básica - Aula 05 - Sistema Operacional Windows
Informática Básica - Aula 05 - Sistema Operacional WindowsJoeldson Costa Damasceno
 
AULA SOBRE PARTICOES 20.01.2023.pptx
AULA SOBRE PARTICOES 20.01.2023.pptxAULA SOBRE PARTICOES 20.01.2023.pptx
AULA SOBRE PARTICOES 20.01.2023.pptxADASVIEIRAArmazmPara
 
Churrasco PROJETOS 56
Churrasco PROJETOS 56Churrasco PROJETOS 56
Churrasco PROJETOS 56Marco Coghi
 
Implantação e Manutenção de Softwares
Implantação e Manutenção de SoftwaresImplantação e Manutenção de Softwares
Implantação e Manutenção de SoftwaresMarcelo Schumacher
 
Sistema Operativo Servidor
Sistema Operativo ServidorSistema Operativo Servidor
Sistema Operativo ServidorDaniel Barros
 
Aula 01 - Ms PowerPoint
Aula 01 - Ms  PowerPointAula 01 - Ms  PowerPoint
Aula 01 - Ms PowerPointRoney Sousa
 
Algoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmosAlgoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmosRodrigo Kiyoshi Saito
 

Tendances (20)

ORIENTAÇÃO DE TCC
ORIENTAÇÃO DE TCCORIENTAÇÃO DE TCC
ORIENTAÇÃO DE TCC
 
Ficheiros em C
Ficheiros em CFicheiros em C
Ficheiros em C
 
Integração office, word, excel, power point
Integração office, word, excel, power pointIntegração office, word, excel, power point
Integração office, word, excel, power point
 
Redes de computadores
Redes de computadoresRedes de computadores
Redes de computadores
 
Sistema operativo servidor
Sistema operativo servidorSistema operativo servidor
Sistema operativo servidor
 
Linux
LinuxLinux
Linux
 
Introdução à sistemas distribuídos
Introdução à sistemas distribuídosIntrodução à sistemas distribuídos
Introdução à sistemas distribuídos
 
Informática Básica - Aula 05 - Sistema Operacional Windows
Informática Básica - Aula 05 - Sistema Operacional WindowsInformática Básica - Aula 05 - Sistema Operacional Windows
Informática Básica - Aula 05 - Sistema Operacional Windows
 
Aula 07 instalação de hardware
Aula 07 instalação de hardwareAula 07 instalação de hardware
Aula 07 instalação de hardware
 
AULA SOBRE PARTICOES 20.01.2023.pptx
AULA SOBRE PARTICOES 20.01.2023.pptxAULA SOBRE PARTICOES 20.01.2023.pptx
AULA SOBRE PARTICOES 20.01.2023.pptx
 
So-mod-1
So-mod-1So-mod-1
So-mod-1
 
Churrasco PROJETOS 56
Churrasco PROJETOS 56Churrasco PROJETOS 56
Churrasco PROJETOS 56
 
Implantação e Manutenção de Softwares
Implantação e Manutenção de SoftwaresImplantação e Manutenção de Softwares
Implantação e Manutenção de Softwares
 
Arquitetura de Redes de Computadores
 Arquitetura de Redes de Computadores Arquitetura de Redes de Computadores
Arquitetura de Redes de Computadores
 
Hardware servidores
Hardware servidoresHardware servidores
Hardware servidores
 
Sistema Operativo Servidor
Sistema Operativo ServidorSistema Operativo Servidor
Sistema Operativo Servidor
 
Memórias
MemóriasMemórias
Memórias
 
Aula 01 - Ms PowerPoint
Aula 01 - Ms  PowerPointAula 01 - Ms  PowerPoint
Aula 01 - Ms PowerPoint
 
Algoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmosAlgoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmos
 
Modelos de Processo de Software
Modelos de Processo de SoftwareModelos de Processo de Software
Modelos de Processo de Software
 

En vedette

Sistemas Distribuídos - Replicação de Banco de Dados
Sistemas Distribuídos - Replicação de Banco de DadosSistemas Distribuídos - Replicação de Banco de Dados
Sistemas Distribuídos - Replicação de Banco de DadosValdir Junior
 
Cluster e replicação em banco de dados
Cluster e replicação em banco de dadosCluster e replicação em banco de dados
Cluster e replicação em banco de dadosSuissa
 
Dados
DadosDados
Dadosunesp
 
Cluster ha com banco de dados
Cluster ha com banco de dadosCluster ha com banco de dados
Cluster ha com banco de dadosMarcio Jonnes
 
Database Class - Pontos de defasagem e questões de brinde.
Database Class - Pontos de defasagem e questões de brinde.Database Class - Pontos de defasagem e questões de brinde.
Database Class - Pontos de defasagem e questões de brinde.Jann Claude Mousquer
 
Introdução a Web Services
Introdução a Web ServicesIntrodução a Web Services
Introdução a Web ServicesFabio Leal
 
Banco de Dados Distribuidos
Banco de Dados DistribuidosBanco de Dados Distribuidos
Banco de Dados DistribuidosAndré Fachin
 
Aula 3 (alta disponibilidade)
Aula 3 (alta disponibilidade)Aula 3 (alta disponibilidade)
Aula 3 (alta disponibilidade)Evandro Júnior
 
12 objetivos de banco de dados distribuídos
12 objetivos de banco de dados distribuídos12 objetivos de banco de dados distribuídos
12 objetivos de banco de dados distribuídosBruno Felipe
 
Banco de Dados Distribuídos - MySql
Banco de Dados Distribuídos - MySqlBanco de Dados Distribuídos - MySql
Banco de Dados Distribuídos - MySqlAdail Viana Neto
 
Sistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidosSistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidosrobsons75
 
Arquitectura e modelos de sistemas distribuidos
Arquitectura e modelos de sistemas distribuidosArquitectura e modelos de sistemas distribuidos
Arquitectura e modelos de sistemas distribuidosPortal_do_Estudante_SD
 
Delineamento experimental básico
Delineamento experimental básicoDelineamento experimental básico
Delineamento experimental básicoCaio Maximino
 
Aula 1 introdução a base de dados
Aula 1   introdução a base de dadosAula 1   introdução a base de dados
Aula 1 introdução a base de dadosHélio Martins
 
Aula 2 introdução a sistemas distribuídos
Aula 2   introdução a sistemas distribuídosAula 2   introdução a sistemas distribuídos
Aula 2 introdução a sistemas distribuídosEduardo de Lucena Falcão
 
Autocorrelação espacial - Prática no GEODA
Autocorrelação espacial - Prática no GEODAAutocorrelação espacial - Prática no GEODA
Autocorrelação espacial - Prática no GEODAVitor Vieira Vasconcelos
 

En vedette (20)

Sistemas Distribuídos - Replicação de Banco de Dados
Sistemas Distribuídos - Replicação de Banco de DadosSistemas Distribuídos - Replicação de Banco de Dados
Sistemas Distribuídos - Replicação de Banco de Dados
 
Segurança em sistemas distribuidos
Segurança em sistemas distribuidosSegurança em sistemas distribuidos
Segurança em sistemas distribuidos
 
Cluster e replicação em banco de dados
Cluster e replicação em banco de dadosCluster e replicação em banco de dados
Cluster e replicação em banco de dados
 
Dados
DadosDados
Dados
 
Cluster ha com banco de dados
Cluster ha com banco de dadosCluster ha com banco de dados
Cluster ha com banco de dados
 
Database Class - Pontos de defasagem e questões de brinde.
Database Class - Pontos de defasagem e questões de brinde.Database Class - Pontos de defasagem e questões de brinde.
Database Class - Pontos de defasagem e questões de brinde.
 
Introdução a Web Services
Introdução a Web ServicesIntrodução a Web Services
Introdução a Web Services
 
PostgreSQL Conceitos e aplicações
PostgreSQL  Conceitos e aplicaçõesPostgreSQL  Conceitos e aplicações
PostgreSQL Conceitos e aplicações
 
Banco de Dados Distribuidos
Banco de Dados DistribuidosBanco de Dados Distribuidos
Banco de Dados Distribuidos
 
Aula 3 (alta disponibilidade)
Aula 3 (alta disponibilidade)Aula 3 (alta disponibilidade)
Aula 3 (alta disponibilidade)
 
Banco de dados distribuídos
Banco de dados distribuídosBanco de dados distribuídos
Banco de dados distribuídos
 
12 objetivos de banco de dados distribuídos
12 objetivos de banco de dados distribuídos12 objetivos de banco de dados distribuídos
12 objetivos de banco de dados distribuídos
 
Banco de Dados Distribuídos - MySql
Banco de Dados Distribuídos - MySqlBanco de Dados Distribuídos - MySql
Banco de Dados Distribuídos - MySql
 
Postgre Sql
Postgre SqlPostgre Sql
Postgre Sql
 
Sistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidosSistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidos
 
Arquitectura e modelos de sistemas distribuidos
Arquitectura e modelos de sistemas distribuidosArquitectura e modelos de sistemas distribuidos
Arquitectura e modelos de sistemas distribuidos
 
Delineamento experimental básico
Delineamento experimental básicoDelineamento experimental básico
Delineamento experimental básico
 
Aula 1 introdução a base de dados
Aula 1   introdução a base de dadosAula 1   introdução a base de dados
Aula 1 introdução a base de dados
 
Aula 2 introdução a sistemas distribuídos
Aula 2   introdução a sistemas distribuídosAula 2   introdução a sistemas distribuídos
Aula 2 introdução a sistemas distribuídos
 
Autocorrelação espacial - Prática no GEODA
Autocorrelação espacial - Prática no GEODAAutocorrelação espacial - Prática no GEODA
Autocorrelação espacial - Prática no GEODA
 

Similaire à Vantagens e técnicas da replicação de dados

Apresentação Monografia
Apresentação MonografiaApresentação Monografia
Apresentação MonografiaLeon Homar
 
Linux4all#2
Linux4all#2Linux4all#2
Linux4all#2Daniel
 
Linux - Shell e Comandos Básicos
Linux - Shell e Comandos BásicosLinux - Shell e Comandos Básicos
Linux - Shell e Comandos BásicosFrederico Madeira
 
pgBouncer: um aglomerador de conexões para PostgreSQL
pgBouncer: um aglomerador de conexões para PostgreSQLpgBouncer: um aglomerador de conexões para PostgreSQL
pgBouncer: um aglomerador de conexões para PostgreSQLelliando dias
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas OperacionaisAdir Kuhn
 
Estruturas de Sistemas Operacionais
Estruturas de Sistemas OperacionaisEstruturas de Sistemas Operacionais
Estruturas de Sistemas OperacionaisCid de Andrade
 
Certificação Linux: Conhecendo o caminho das pedras - Bruna Griebeler
Certificação Linux: Conhecendo o caminho das pedras - Bruna GriebelerCertificação Linux: Conhecendo o caminho das pedras - Bruna Griebeler
Certificação Linux: Conhecendo o caminho das pedras - Bruna GriebelerTchelinux
 
(03) shell e comandos basicos[1]
(03) shell e comandos basicos[1](03) shell e comandos basicos[1]
(03) shell e comandos basicos[1]Anderson Lago
 
Desenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilling Landgraf
Desenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilling LandgrafDesenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilling Landgraf
Desenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilling LandgrafTchelinux
 
Metasploit-1_atualizacao.pdf
Metasploit-1_atualizacao.pdfMetasploit-1_atualizacao.pdf
Metasploit-1_atualizacao.pdffabio154906
 
Componentes do Sistema operacional
Componentes do Sistema operacional Componentes do Sistema operacional
Componentes do Sistema operacional Rodrigo Rodrigues
 
Apostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em LinuxApostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em Linuxeliezer
 
Apostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em LinuxApostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em Linuxeliezer
 
Apostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em LinuxApostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em Linuxguest7a481e8
 

Similaire à Vantagens e técnicas da replicação de dados (20)

Apresentação Monografia
Apresentação MonografiaApresentação Monografia
Apresentação Monografia
 
Linux4all#2
Linux4all#2Linux4all#2
Linux4all#2
 
Minicurso Linux
Minicurso Linux Minicurso Linux
Minicurso Linux
 
Cluster
ClusterCluster
Cluster
 
Linux - Shell e Comandos Básicos
Linux - Shell e Comandos BásicosLinux - Shell e Comandos Básicos
Linux - Shell e Comandos Básicos
 
Cluster
ClusterCluster
Cluster
 
pgBouncer: um aglomerador de conexões para PostgreSQL
pgBouncer: um aglomerador de conexões para PostgreSQLpgBouncer: um aglomerador de conexões para PostgreSQL
pgBouncer: um aglomerador de conexões para PostgreSQL
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
Igor Oliveira - Puppet
Igor Oliveira - PuppetIgor Oliveira - Puppet
Igor Oliveira - Puppet
 
F oc aula_04
F oc aula_04F oc aula_04
F oc aula_04
 
Estruturas de Sistemas Operacionais
Estruturas de Sistemas OperacionaisEstruturas de Sistemas Operacionais
Estruturas de Sistemas Operacionais
 
Certificação Linux: Conhecendo o caminho das pedras - Bruna Griebeler
Certificação Linux: Conhecendo o caminho das pedras - Bruna GriebelerCertificação Linux: Conhecendo o caminho das pedras - Bruna Griebeler
Certificação Linux: Conhecendo o caminho das pedras - Bruna Griebeler
 
(03) shell e comandos basicos[1]
(03) shell e comandos basicos[1](03) shell e comandos basicos[1]
(03) shell e comandos basicos[1]
 
Desenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilling Landgraf
Desenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilling LandgrafDesenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilling Landgraf
Desenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilling Landgraf
 
Metasploit-1_atualizacao.pdf
Metasploit-1_atualizacao.pdfMetasploit-1_atualizacao.pdf
Metasploit-1_atualizacao.pdf
 
Componentes do Sistema operacional
Componentes do Sistema operacional Componentes do Sistema operacional
Componentes do Sistema operacional
 
Apostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em LinuxApostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em Linux
 
Apostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em LinuxApostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em Linux
 
Apostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em LinuxApostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em Linux
 
Unidade5 roteiro
Unidade5 roteiroUnidade5 roteiro
Unidade5 roteiro
 

Plus de elliando dias

Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slideselliando dias
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScriptelliando dias
 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structureselliando dias
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de containerelliando dias
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agilityelliando dias
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Librarieselliando dias
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!elliando dias
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Webelliando dias
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduinoelliando dias
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorceryelliando dias
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Designelliando dias
 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makeselliando dias
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.elliando dias
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebookelliando dias
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Studyelliando dias
 

Plus de elliando dias (20)

Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slides
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScript
 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structures
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de container
 
Geometria Projetiva
Geometria ProjetivaGeometria Projetiva
Geometria Projetiva
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agility
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Libraries
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!
 
Ragel talk
Ragel talkRagel talk
Ragel talk
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Web
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Minicurso arduino
Minicurso arduinoMinicurso arduino
Minicurso arduino
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorcery
 
Rango
RangoRango
Rango
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Design
 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makes
 
Hadoop + Clojure
Hadoop + ClojureHadoop + Clojure
Hadoop + Clojure
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebook
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Study
 

Vantagens e técnicas da 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
  • 6. Ferramentas Slony (integrado ao pgAdmin) pgreplicator.sourceforge.net PGCluster Mammoth Postgres-R 21
  • 8. Slony-I Integrado na árvore de objetos do pgAdmin Indicação do path da ferramenta no menu File->Options 23
  • 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
  • 10. Passos Passo 2: Adicionar nós ao cluster (escravos) Processo de junção (join) 25
  • 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
  • 15. Passos Definir a seqüência da tabela a ser replicada 30
  • 16. Passos Passo 7 Definir a assinatura (devem, a partir da versão 1.1 ser criadas no nodo mestre) 31
  • 17. Passos Iniciar os daemons C:Program FilesPostgreSQL8.2bin>slon meucluster "dbname=postgres user=postgres host=localhost port=5432 password=senha" 32