Общие сведения о синхронизации совместной работы
Платформы Sync Framework позволяют синхронизировать данные между одноранговыми узлами, при этом каждый узел может быть синхронизирован с любым другим узлом без передачи изменений через центральный узел. Как автономная синхронизация, одноранговая синхронизация может использоваться, когда у приложений нет стабильного или надежного сетевого подключения, но данная часть API-интерфейса ориентирована, в первую очередь, на приложения для совместной работы. Например, в приложении, которое обеспечивает обмен заметками о проекте между пользователями, членам проектной группы часто необходима локальная копия данных, с которыми они работают. Внесенные изменения можно синхронизировать с другим членом группы, обмениваясь изменениями.
Подобно интерфейсам доступа к данным ADO.NET, API-интерфейс Sync Framework обеспечивает интуитивно понятный способ синхронизации баз данных. Благодаря платформам Sync Framework построение приложений для среды взаимодействия является логическим продолжением проектирования приложений для одиночных пользователей, которые могут положиться на устойчивое сетевое подключение. Дополнительные сведения об архитектуре API-интерфейса см. в разделе Архитектура и классы синхронизации совместной работы.
Сравнение платформы Sync Framework с другими технологиями
Корпорация Майкрософт предлагает ряд технологий для приложений синхронизации. Наиболее важная технология для сравнения в области одноранговой синхронизации — одноранговая репликация транзакций. Она используется для синхронизации как минимум двух баз данных выпуска SQL Server Enterprise. Хотя эти две технологии имеет смысл сравнить, имейте в виду, что одноранговая репликация транзакций разработана для синхронизации между серверами, обеспечивающей масштабируемость и высокий уровень доступности. Службы Sync Framework предназначены для синхронизации между клиентами и клиентом и сервером, которая поддерживает совместную работу.
Следующая таблица поможет выбрать подходящую технологию для проектируемого приложения.
Основная функция | Одноранговая репликация транзакций | Sync Framework |
---|---|---|
Синхронизация с использованием служб |
Нет |
Да |
Синхронизация с другими типами хранилищ данных 1 |
Нет |
Да |
Отслеживание добавочных изменений 2 |
Да |
Да |
Обнаружение и разрешение конфликтов3 |
Да |
Да |
Автоматическая инициализация схемы и данных |
Да |
Нет |
Поддержка больших наборов данных |
Да |
Да |
Автоматическое распространение изменений схемы |
Да |
Нет |
1 Базы данных могут обмениваться информацией с другими источниками данных, поддерживаемыми Sync Framework, такими как веб-службы, файловые системы и пользовательские хранилища данных.
2 Sync Framework используют отслеживание суммарных изменений, в которых синхронизируется последняя версия строки. При одноранговой репликации транзакций все изменения в строке применяются по порядку на каждом узле.
3 Репликация обеспечивает встроенное разрешение конфликтов, а платформы Sync Framework обеспечивают инфраструктуру для построения схемы устранения конфликтов.
Службы Sync Framework предоставляют гибкую модель программирования с поддержкой автономных наборов данных и богатый набор возможностей синхронизации, аналогичный возможностям репликации. Репликация ориентирована на администраторов баз данных и предназначена для синхронизации баз данных SQL Server. Репликация объединяет в себе широкий набор функций с настройкой конфигурации с помощью мастеров, хранимых процедур и собственного API-интерфейса. Службы Sync Framework предназначены для разработчиков и поддерживают синхронизацию с другими типами хранилища данных, а также синхронизацию через службы, в частности Windows Communication Foundation (WCF).
Для некоторых приложений выбор технологии оказывается весьма простым. Если необходимы отдельные компоненты для синхронизации через различные транспорты или службы либо требуется синхронизация с источником данных, отличным от базы данных, лучшим решением будут платформами Sync Framework. Если вы администратор базы данных, разрабатывающий масштабируемую систему с высоким уровнем доступности, или хотите настроить синхронизацию, не внося больших изменений в код приложения, смело выбирайте репликацию. В конечном счете необходимо тщательно оценить требования приложения и, исходя из этого, решить, будет ли API-интерфейс платформ Sync Framework подходящей технологией. Если нужно нечто большее, чем просто репликация схемы и данных из одной базы данных в другую, то рекомендуется пользоваться платформами Sync Framework.
Использование документации по службам одноранговой синхронизации Sync Framework
Разделы документации по платформам Sync Framework содержат подробное введение в API-интерфейс Sync Framework синхронизации баз данных, примеры кода и справочник по API-интерфейсам. Справочные сведения по API-интерфейсам для одноранговой синхронизации можно найти в разделах Microsoft.Synchronization, Microsoft.Synchronization.Data, Microsoft.Synchronization.Data.SqlServer и SqlCeSyncProvider.
Чтобы лучше освоить весь материал, рекомендуется изучать документацию в следующем порядке.
Ознакомиться с архитектурой API-интерфейса и наиболее важными классами можно в разделе Архитектура и классы синхронизации совместной работы.
Просмотреть код простого приложения в разделе Как настроить и выполнить синхронизацию совместной работы (SQL Server).
Познакомиться с основами синхронизации баз данных, отличных от баз SQL Server, можно в разделе Синхронизация других баз данных, совместимых с ADO.NET.
Данные разделы содержат образцы кода. Дополнительные образцы доступны в пакете Sync Framework SDK и на веб-сайте Галерея кодов.
См. также
Основные положения
Сценарии совместной работы
Архитектура и классы синхронизации совместной работы