ustify>Capa SQl 33

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 é  para redundância de dados, podendo ser usado como servidor de backup. ...

Quer ler esse conteúdo completo? Tenha acesso completo