Comparando tecnologias de sincronização
A Microsoft oferece diversas tecnologias projetadas para aplicativos executados ocasionalmente em ambientes conectados. As mais notáveis são:
- RDA, que é usado para sincronizar um banco de dados SQL Server Compact 3.5 com um banco de dados em outra edição doSQL Server.
- Replicação de mesclagem, que é usada para sincronizar edições diferentes do SQL Server. Isso inclui o SQL Server Compact 3.5.
Dica
O Synchronization Services e qualquer outra tecnologia de sincronização não podem ser usados na mesma tabela no banco de dados do cliente.
Para determinar qual tecnologia é adequada para os aplicativos que você está criando, comece com a tabela a seguir, que descreve os principais recursos.
RDA | Replicação de mesclagem | Serviços de sincronização | |
---|---|---|---|
Sincronização usando serviços |
Não |
Não |
Sim |
Suporte a bancos de dados heterogêneos |
Não |
Não |
Sim |
Controle de alterações incrementais |
Não1 |
Sim |
Sim |
Resolução e detecção de conflitos |
Não |
Sim |
Sim |
Fácil criação de exibições de dados no cliente |
Não |
Não |
Sim |
Inicialização automática de esquema e dados |
Sim |
Sim |
Sim |
Suporte a grandes conjuntos de dados |
Sim |
Sim |
Sim |
Processador de consulta disponível localmente |
Sim |
Sim |
Sim |
Propagação automática de alterações no esquema |
Não |
Sim |
Não |
Repartição automática de dados |
Não |
Sim |
Não |
Uso em dispositivos |
Sim |
Sim |
Sim |
1 O RDA oferece suporte a carregamentos incrementais, mas os downloads são sempre um instantâneo que atualiza totalmente os dados no cliente.
O Synchronization Services oferece a flexibilidade de um modelo de programação, como conjuntos de dados offline, com um conjunto de recursos de sincronização valioso, como aquele encontrado na replicação de mesclagem. A funcionalidade do Synchronization Services é superior à do RDA.
A replicação de mesclagem é destinada a administradores de banco de dados e foi projetada para sincronizar bancos de dados SQL Server. Ela fornece funcionalidade original significativa, com configuração disponível por meio de assistentes, procedimentos armazenados e sua própria API. O Synchronization Services é destinado a desenvolvedores e permite criar facilmente exibições de dados no cliente com base em um banco de dados de servidor ou outra fonte de dados. O Synchronization Services oferece suporte a bancos de dados heterogêneos e sincronização sobre serviços, como o WCF. Se o aplicativo envolver a sincronização com bancos de dados não-SQL Server ou se ele tiver que ser separado em componentes para habilitar a sincronização por transportes ou serviços diferentes, use o Synchronization Services.
Para alguns aplicativos, a decisão de usar uma tecnologia é fácil: se você tiver que sincronizar uma fonte de dados diferente de um banco de dados SQL Server, o Synchronization Services é a solução. Se você for um administrador de banco de dados que deseja configurar a sincronização sem muita programação, a replicação de mesclagem poderá ser a melhor escolha. Essencialmente, você deve observar com atenção os requisitos do aplicativo e determinar se a API do Synchronization Services é a tecnologia mais adequada para ser usada. Se você quiser ir além da replicação de um esquema e de seus dados de um banco de dados para outro, o Synchronization Services com certeza é a escolha mais adequada.