Share via


Confronto tra RDA e replica di tipo merge

La scelta tra l'utilizzo della funzionalità RDA o della replica in un'applicazione SQL Server Compact dipende dallo scopo, dalla funzione, dalla dimensione e dai requisiti dell'applicazione per smart device. Ogni soluzione di connettività dei dati presenta diversi vantaggi e svantaggi.

Sia RDA che la replica costituiscono una buona soluzione per il trasferimento senza fili. Per ridurre le dimensioni dei dati trasmessi viene utilizzata la compressione. Per salvaguardare i dati riservati degli utenti durante la trasmissione è possibile utilizzare la crittografia.

Funzionalità a confronto

Funzionalità

Replica

RDA

Scambio delle modifiche ai dati rilevate

Replica delle modifiche tra server e client

Rilevamento a livello di colonna: riduce la quantità di dati trasferiti trasferendo solo i dati della colonna modificata

Rilevamento a livello di riga: viene trasferita l'intera riga

Push delle modifiche solo da client a server. Aggiornamento completo dei dati del client necessario per ricevere le modifiche del server.

Rilevamento a livello di riga: viene trasferita l'intera riga

Numero di tabelle da cui è possibile propagare i dati

Più tabelle, quante sono definite nella pubblicazione

Una tabella per metodo RDA

Tipi di tabelle che è possibile propagare

Diversi tipi di tabelle per il controllo dei flussi di dati

L'aggiunta o la rimozione di una tabella nella pubblicazione (server) viene replicata automaticamente senza la necessità di ripetere l'inizializzazione della sottoscrizione sul client

N/D

L'aggiunta o la rimozione di una tabella sul server non viene replicata automaticamente sul client.

Vincoli e indici

Gli indici e i vincoli di integrità referenziale vengono replicati dal server automaticamente.

I vincoli di integrità referenziale non vengono replicati, mentre gli indici vengono replicati facoltativamente. Una definizione dello schema aggiuntiva deve essere impostata sul client.

Conflitti

I conflitti includono dati modificati da diversi utenti e righe non applicate a causa di un errore.

Risoluzione e gestione di conflitti su server

Supporto di sistemi di risoluzione dei conflitti predefiniti e personalizzati

I conflitti includono solo le righe non applicate a causa di un errore. RDA non rileva se i dati sono stati modificati da un utente diverso.

I conflitti non vengono gestiti ma riportati facoltativamente in una tabella degli errori sul client.

Nessun sistema di risoluzione dei conflitti disponibile.

Modifiche allo schema

Le modifiche allo schema (ad esempio aggiunta o eliminazione di colonne, aggiunte o eliminazione di vincoli o modifica della definizione di colonne) possono essere replicate.

Le modifiche allo schema non sono consentite. Se lo schema viene modificato, è necessario che il client elimini la tabella lato client ed esegua nuovamente il pull di tutti i dati dal server. Il push può non riuscire, a seconda della modifica apportata allo schema.

Colonne Identity

Gestione manuale e automatica dell'intervallo di valori identity. Le colonne BigInt e Int sono supportate.

Gestione manuale dell'intervallo di valori identity. Le colonne BigInt e Int sono supportate.

Definizione dati/schema

Si verifica sul server quando la pubblicazione viene configurata e automaticamente definita sul client al momento della sottoscrizione.

La definizione di dati e schema si verifica sul client quando viene eseguito il pull dei dati dal server al client.

Strumenti (interfaccia utente)

Strumenti completi per creare e gestire sottoscrizioni e strumenti di monitoraggio per la gestione di più sottoscrizioni, il controllo delle prestazioni e la sincronizzazione dei tempi

Nessuno strumento supportato.

Invasività del server

Tabelle e colonne aggiunte al database del server per gestire la replica.

Nessuna modifica apportata al database sul server.

Importante

A causa di limiti di progettazione, la funzionalità RDA verrà rimossa a partire da una delle prossime versioni. Se attualmente si utilizza RDA, è opportuno valutare il passaggio a Servizi di sincronizzazione Microsoft per ADO.NET. Se è stato pianificato l'utilizzo di RDA in una nuova applicazione, è opportuno utilizzare invece la replica di tipo merge o Sync Services. Si noti che Sync Services è attualmente disponibile sia per computer desktop che per dispositivi portatili.