Artigo da SQL Magazine 40 - Utilizando replicação transacional PTP no SQL Server 2005 Enterprise Edition

Artigo da SQL Magazine - edição 40.

Clique aqui para ler esse artigo em PDF.

Clique aqui para ler todos os artigos desta edição

Utilizando replicação transacional PTP no SQL Server 2005 Enterprise Edition

 

Replicação de dados é um recurso de banco de dados que possibilita manter pontas (locais) iguais, ou seja, com a sincronia de dados. Um exemplo clássico seria uma matriz possuindo a sua tabela de fornecedores e diversas filiais espalhadas pelo país contendo, cada uma, uma réplica do cadastro. Supondo que a inclusão dos dados dos fornecedores seja muito alta (grandes volumes de inclusão), e que essas mudanças precisam ser enviadas a todas as filiais de maneira que o cadastro de fornecedores fique igual em todas as lojas, então poderíamos nos valer do recurso de replicação de dados.

Neste artigo, veremos como fazer uma replicação de dados usando a nova tecnologia PTP (Peer to Peer) transacional, que está presente na nova versão do SQL Server. Ao longo deste artigo veremos como funciona uma replicação e quais são os usos mais comuns. Em seguida iremos detalhar o seu processo.

Replicação de dados

Na replicação de dados, um servidor SQL Server pode desempenhar vários papéis, sendo eles Publicação, Subscrição e Distribuição. Qualquer desses papéis pode ser desempenhado por um ou mais servidores SQL Server. A descrição mais detalhada de cada um desses papéis se encontra na Tabela 1.

 

Tabela 1. Funções de um servidor SQL Server.

Função

Descrição

Publisher

Seria o publicador, ou seja, a base de dados que será replicada.

Subscriber

O Assinante. O servidor (ler Nota 1) que irá receber uma base de dados replicada. Existem duas possibilidades: no primeiro caso as tabelas somente serão consultadas, no segundo caso as tabelas também sofrem alterações (neste caso, essas alterações podem ou não ser reenviadas à base publicada).

Uma observação interessante em replicações com SQL Server é que outros sources padrão OLE DB podem assinar uma replicação do SQL Server, como um servidor Oracle. Infelizmente na versão 2005 do SQL Server, bases de dados padrão JET, como o Access ou até mesmo uma planilha em excel, não podem mais assinar uma replicação, o que era possível na versão 2000 do SQL Server.

Distributor

O Servidor que irá repassar os dados do publicador para o(os) assinantes.

 

As combinações de replicação podem acontecer de várias maneiras:

1-     Publicador – Distribuidor – Assinantes na mesma máquina;

2-     Publicador – Distribuidor na mesma máquina e Assinantes em outra;

3-     Publicador – Distribuidor – Assinantes em máquinas separadas.

 

Nota 1. Esclarecimento sobre servidores

Entendemos Servidor não só como máquinas separadas. Podemos entender Servidor como uma instância SQL Server.

 

A seguir veremos alguns conceitos adicionais:

·         Article: artigo, ou seja, uma tabela de banco de dados. Dentro de uma tabela podemos ainda colocar filtros para colunas e linhas fazendo com que todos os campos e linhas da tabela sejam replicados, assim como apenas algumas linhas ou até mesmo algumas colunas, protegendo dessa forma dados sigilosos de uma tabela ou diminuindo o tráfego de rede na replicação.

·         Publication: seria um grupo de artigos (objetos de banco de dados a serem replicados).

·         Subscription: assinatura. O ato de associar uma publicação e seus artigos a um ou vários assinantes. Existem dois tipos de assinatura:

o        Push: os dados são enviados para o assinante pelo publicador.

o        Pull: ao contrário do push, os assinantes é que são os responsáveis por ir pegar as alterações no publicador.

 

Ainda nos conceitos básicos da replicação, temos no SQL Server três modelos que são a base para as outras variações de replicação. São eles:

·         Snapshot: neste modelo será feita uma cópia total do banco de dados ou das tabelas selecionadas. Todas as alterações são reenviadas ao assinante a cada sincronização. Geralmente é utilizado quando temos que replicar pequenas quantidades de dados, pois o tráfego de rede será alto já que tudo será reenviado para o assinante, e não apenas as alterações;

o        Vantagens: é simples de se configurar, não exige que a modelagem do banco esteja perfeita, pois todo o banco de dados será enviado para o assinante.

o        Desvantagens: todo o banco de dados é replicado, então, o consumo e tráfego de rede são grandes. Esse modelo não é aplicável a bases de dados muito grandes ou que necessitem de uma sincronização muito alta.

 

·         Transacional: neste modelo, apenas as alterações efetuadas no publicador são enviadas ao assinante. Este modelo é muito utilizado quando temos que ter alto controle sobre a entrega dos dados (a nível transacional) e agilidade (baixa latência) na entrega dos dados. Com o SQL Server 2005 tivemos uma remodelagem neste tipo de replicação. Agora as duas pontas podem ser sincronizadas, criando assim uma rotina de envio e recebimento de dados.

o        Vantagens: possibilita um alto grau de controle de envio de informações (já que trabalha a nível transacional). Uma das aplicações mais usada é" [...] continue lendo...

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados