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

 

ns-serif'; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'">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.

 

Figura 1. Cenário onde a replicação Merge é usada ...

Quer ler esse conteúdo completo? Tenha acesso completo