Vergleich von Remotedatenzugriff (Remote Date Access, RDA) und Mergereplikation
Ob die Verwendung von Remotedatenzugriff (Remote Data Access, RDA) oder Replikation in einer SQL Server Compact-Anwendung sinnvoller ist, hängt vom Zweck, der Funktion, dem Umfang und den Anforderungen der Anwendung für intelligente Geräte ab. Jede Konnektivitätsdatenlösung bietet verschiedene Vor- und Nachteile.
Sowohl RDA als auch Replikation eignen sich gut für den drahtlosen Transport. Komprimierung wird verwendet, um den Umfang der übertragenen Daten zu verringern. Sie können Verschlüsselung verwenden, um sensitive Benutzerdaten während der Übertragung zu schützen.
Featurevergleich
Feature | Replikation | RDA |
---|---|---|
Austausch von nachverfolgten Datenänderungen |
Replikation von Änderungen von und zu Server und Client Nachverfolgung auf Spaltenebene - reduziert die übertragene Datenmenge, indem nur geänderte Spaltendaten übertragen werden Nachverfolgung auf Zeilenebene - es wird die gesamte Zeile übertragen |
Änderungen nur von Client zu Server übertragen. Vollständige Aktualisierung der zum Empfang von Serveränderungen erforderlichen Daten. Nachverfolgung auf Zeilenebene - es wird die gesamte Zeile übertragen. |
Anzahl der Tabellen, von denen Daten weitergegeben werden können |
Mehrere Tabellen - so viele, wie in der Veröffentlichung definiert |
Eine Tabelle pro RDA-Methode |
Typen von Tabellen, die weitergegeben werden können |
Verschiedene Tabellentypen zum Steuern des Datenflusses Das Hinzufügen oder Entfernen einer Tabelle in der Veröffentlichung (Server) wird automatisch ohne Neuinitialisierung des Abonnements auf dem Client repliziert |
N/V Das Hinzufügen oder Entfernen einer Tabelle auf dem Server wird nicht automatisch auf dem Client repliziert. |
Einschränkungen und Indizes |
Einschränkungen und Indizes für referenzielle Integrität werden automatisch vom Server repliziert. |
Einschränkungen für referenzielle Integrität werden nicht repliziert, Indizes werden optional repliziert. Beim Client muss eine zusätzliche Schemadefinition definiert werden. |
Konflikte |
Zu Konflikten gehören Datenänderungen durch verschiedene Benutzer sowie Zeilen, die wegen eines Fehlers nicht angewendet werden. Lösung und Verwaltung von Konflikten auf dem Server Integrierte und benutzerdefinierte Konfliktlöser werden unterstützt. |
Zu Konflikten gehören nur Zeilen, die wegen eines Fehlers nicht angewendet wurden. Von RDA wird nicht erkannt, ob Daten von einem anderen Benutzer geändert wurden. Konflikte werden nicht verwaltet, aber optional in eine Fehlertabelle auf dem Client geschrieben. Keine Konfliktlöser. |
Schemaänderungen |
Schemaänderungen wie Hinzufüge-/Löschspalten, Hinzufüge-/Löscheinschränkungen oder das Ändern von Spaltendefinitionen können repliziert werden. |
Schemaänderungen sind nicht zulässig. Wenn das Schema geändert wird, muss der Client die Tabelle beim Client löschen und die Daten wieder mit einem Pull-Vorgang vom Server abrufen. Abhängig von der Schemaänderung kann ein Push-Vorgang fehlschlagen. |
Identitätsspalten |
Manuelle und automatische Identitätsbereichsbehandlung. Spalten vom Typ BigInt und Int werden unterstützt. |
Manuelle Identitätsbereichsbehandlung. Spalten vom Typ BigInt und Int werden unterstützt. |
Daten-/Schemadefinition |
Tritt beim Server auf, wenn die Veröffentlichung konfiguriert und automatisch beim Client definiert wird, wenn das Abonnement erstellt wird. |
Daten- und Schemadefinitionen treten beim Client auf, wenn Daten mit einem Pull-Vorgang vom Server zum Client übertragen werden. |
Tools (Benutzeroberfläche) |
Umfangreiche Tools zum Erstellen und Verwalten von Abonnements sowie Überwachungstools zum Verwalten mehrerer Abonnements, für die Leistungsüberwachung und zum Überwachen von Synchronisierungszeiten. |
Es werden keine Tools unterstützt. |
Serverinvasivität |
Der Serverdatenbank hinzugefügte Tabellen und Spalten zum Verwalten der Replikation. |
Keine Änderung an Datenbanken auf dem Server. |
Wichtig
Aufgrund von Entwurfseinschränkungen wird der Remotedatenzugriff (RDA) in einer Folgeversion entfernt. Wenn Sie zurzeit RDA verwenden, sollten Sie dazu übergehen, Microsoft Synchronization Services für ADO.NET zu verwenden. Wenn Sie beabsichtigten, RDA in einer neuen Anwendung zu verwenden, sollten Sie stattdessen die Verwendung von Mergereplikation oder Synchronization Services in Betracht ziehen. Beachten Sie, dass Synchronization Services gegenwärtig für Desktopcomputer und mobile Geräte verfügbar ist.