Vergleichen von Synchronisierungstechnologien
Microsoft bietet mehrere Synchronisierungstechnologien speziell für Anwendungen, die in gelegentlich verbundenen Umgebungen ausgeführt werden. Zu den wichtigsten gehören folgende:
- Der Remotedatenzugriff (Remote Data Access, RDA), der verwendet wird, um eine SQL Server Compact 3.5-Datenbank zusammen mit einer Datenbank auf einer anderen Edition von SQL Server zu synchronisieren.
- Die Mergereplikation, die verwendet wird, um unterschiedliche Editionen von SQL Server zu synchronisieren, einschließlich SQL Server Compact 3.5.
Hinweis
Synchronization Services und andere Synchronisierungstechnologien können nicht für die gleiche Tabelle in der Clientdatenbank verwendet werden.
Anhand der folgenden Tabelle, die eine Übersicht über die wichtigsten Features enthält, können Sie bestimmen, welche Technologie für die von Ihnen erstellten Anwendungen geeignet ist.
RDA | Mergereplikation | Synchronization Services | |
---|---|---|---|
Synchronisieren über Dienste |
Nein |
Nein |
Ja |
Unterstützt heterogene Datenbanken |
Nein |
Nein |
Ja |
Inkrementelle Änderungsnachverfolgung |
Nein1 |
Ja |
Ja |
Konflikterkennung und Konfliktlösung |
Nein |
Ja |
Ja |
Einfaches Erstellen von Datensichten auf dem Client |
Nein |
Nein |
Ja |
Automatisches Initialisieren von Schema und Daten |
Ja |
Ja |
Ja |
Unterstützt große Datasets |
Ja |
Ja |
Ja |
Abfrageprozessor ist lokal verfügbar |
Ja |
Ja |
Ja |
Automatisches Weitergeben von Schemaänderungen |
Nein |
Ja |
Nein |
Automatisches Neupartitionieren von Daten |
Nein |
Ja |
Nein |
Verwendung auf Geräten |
Ja |
Ja |
Ja |
1 RDA unterstützt inkrementelle Uploads. Für Downloads erfolgt jedoch immer eine Snapshotsynchronisierung, bei der die Daten auf dem Client vollständig aktualisiert werden.
Synchronization Services bietet die Flexibilität eines Programmiermodells (wie bei Offline-Datasets) gepaart mit einer breiten Palette an Synchronisierungsfeatures (wie bei der Mergereplikation). Die Funktionalität von Synchronization Services ist RDA überlegen.
Die Mergereplikation wurde für den DBA und zum Synchronisieren von SQL Server-Datenbanken konzipiert. Sie stellt wichtige Funktionen bereit und lässt sich mithilfe von Assistenten, gespeicherten Prozeduren und einer eigenen API konfigurieren. Synchronization Services ist für Entwickler gedacht und ermöglicht das einfache Erstellen von Datensichten auf dem Client, die auf einer Serverdatenbank oder einer anderen Datenquelle basieren. Synchronization Services unterstützt heterogene Datenbanken und die Synchronisierung über Dienste, z. B. WCF. Wenn Ihre Anwendung die Synchronisierung mit Nicht-SQL Server-Datenbanken vorsieht oder modular strukturiert sein muss, damit die Synchronisierung über verschiedene Transporte oder Dienste erfolgen kann, verwenden Sie Synchronization Services.
Bei einigen Anwendungen fällt die Wahl der Synchronisierungstechnologie leicht: Wenn Sie eine andere Datenquelle als eine SQL Server-Datenbank synchronisieren müssen, bietet sich Synchronization Services an. Wenn Sie ein Datenbankadministrator sind, der die Synchronisierung ohne großen Programmieraufwand konfigurieren möchte, ist die Mergereplikation vorzuziehen. Letztendlich müssen Sie die Anforderungen Ihrer Anwendung genau einschätzen und bestimmen, ob die Synchronization Services-API die geeignete Technologie ist. Wenn Sie nicht nur ein Schema und dessen Daten von einer Datenbank auf eine andere replizieren möchten, ist Synchronization Services eindeutig die richtige Wahl.