Sincronizando dados entre SQL Server CE e SQL Server 2008

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (0)  (0)

Neste artigo veremos os conceitos envolvidos na replicação de dados para depois configurar uma replicação.

Esse artigo faz parte da revista WebMobile edição 25. Clique aqui para ler todos os artigos desta edição

 

ASP.NET

Sincronizando dados entre SQL Server CE e SQL Server 2008

Como manter duas bases de dados sincronizadas através da Replicação Merge

 

 

Neste artigo veremos

·         Sincronização de dados entre SQL Server Compact Edition e SQL Server 2008;

·         Replicação;

·         Merge.

Qual a finalidade?

·         Neste artigo veremos os conceitos envolvidos na replicação de dados para depois configurar uma replicação. Com a base conceitual dada neste artigo, o leitor estará apto a configurar replicações de dados em diversos cenários.

Quais situações utilizam esses recursos?

·         No dia-a-dia dos desenvolvedores a replicação/merge é usada sempre que existe a necessidade de sincronizar dados que podem ser alterados tanto em um cliente quanto em um servidor.

 

 

Resumo do DevMan

         Quando temos a necessidade de criar aplicações embarcadas, devemos ter em mente a necessidade da elaboração de uma política de sincronização dos dados.

A elaboração desta política é fundamental para a integridade das informações, e deve ser cuidadosamente elaborada.

         Embora existam outros métodos de sincronização de informações entre um banco de dados SQL CE e um SQL Server 2008, neste artigo abordaremos a Replicação Merge, mostrando os cenários onde ela é a melhor escolha, suas vantagens e desvantagens em relação aos outros métodos e como é feita a sua configuração.

 

Quando existe a necessidade de usar um repositório de informações off-line, o arquiteto da solução deve projetar os métodos para sincronizar a base de dados off-line com a base de dados on-line.

Esta atitude é indispensável para o sucesso da aplicação, pois mais perigoso que não ter dados, é ter dados incorretos ou desatualizados. Quando o mesmo conjunto de informações é alterado em vários lugares diferentes, se não existir uma estratégia de sincronização eficaz e eficiente então temos nossos dados desatualizados e as informações não são confiáveis. Por isso é necessário ter muito cuidado na elaboração de um plano para sincronização de dados.

Neste artigo falarei sobre a Replicação Merge. Em minha opinião, este meio de sincronização é o mais complexo, porém é o mais eficiente quando o cenário inclui diversos clientes e as alterações nos dados são feitas tanto no cliente quanto no servidor. Entenda cliente como a base de dados Microsoft SQL Compact Edition e servidor como a base de dados Microsoft SQL Server 2008.

O que é o SQL Compact Edition?

É uma base de dados compacta que pode ser usada em aplicações embarcadas e também em aplicações desktop. Uma base de dados SQL CE é armazenada em um arquivo com a extensão .sdf e neste arquivo temos todo o conteúdo do banco de dados, que pode ter até 4 Gb de dados.

Para manipular uma base de dados SQL CE, podemos criar uma aplicação usando o Visual Studio e instalar esta aplicação em um desktop ou dispositivo mobile, podemos também usar o SQL Server Management Studio.

O engine do SQL CE é a tecnologia que proporciona o armazenamento, processamento e segurança dos dados. Os componentes do engine do SQL CE são o Processador de Consultas e a Engine de Armazenamento.

A Engine de Armazenamento é responsável por:

·         Gerenciar o arquivo onde o banco de dados é armazeado e o espaço usado por ele;

·         Construir e ler as páginas que são usadas para armazenar os dados;

·         Gerenciar os buffers de dados e todo o I/O para arquivos físicos;

·         Gerenciar as transações e usar locking para controlar o acesso concorrente à linhas e schemas do banco de dados;

·         Garantir as propriedades ACID das transações (Atomicidade, Consistência, Isolamento e Durabilidade)

·         Criar e manter a estrutura de índices;

·         Oferecer suporte à Integridade Referencial.

 

O processador de consultas é responsável por fazer o parse, compilar, otimizar e executar os comandos disparados contra a base de dados. Ele é quem executa os comandos SQL e retorna o resultado da consulta. O processador de consultas é responsável também por automaticamente criar as estatísticas sobre a distribuição de valores em índices.

Métodos de sincronização dos dados

         Para decidir qual método de sincronização de dados iremos usar, é necessário conhecer todos os métodos disponíveis e de acordo com as suas características escolher o mais adequado à sua necessidade.

Neste tópico conheceremos as características de cada um dos métodos de sincronização disponívies para as tecnologias que iremos usar (SQL CE e SQL Server 2008).

RDA – Remote Data Access

Através do RDA é possível enviar e buscar dados de uma tabela do SQL Server. Podemos usar o RDA também quando, através do dispositivo móvel, queremos emitir comandos contra a nossa base de dados on-line.

Um aspecto que eu acho muito interessante no RDA é a possibilidade de rastrear todas as alterações que foram realizadas em uma determinada tabela, para posteriormente a aplicação desenvolvida enviar os dados para uma tabela do SQL Server.

Devemos optar pelo RDA quando não existe a necessidade de resolver conflitos, sem esquecer que provavelmente nas próximas versões do SQL CE o RDA deixe de existir!

Merge Replication

Usamos este método de sincronização, quando os dados são alterados no cliente e no servidor, e neste caso podem ocorrer conflitos que devem ser resolvidos para efetivar a sincronização.

A Figura 1 ilustra um cenário onde a replicação merge pode ser usada.

 

"

A exibição deste artigo foi interrompida :(
Este post está disponível para assinantes MVP

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?