1

У меня есть централизованно размещенная база данных (MS SQL Server) и распределенные клиенты сохраняют данные в Интернете через Интернет. Когда подключение к Интернету идет вниз, клиент начинает хранить новые данные локально в экземпляре SQLite. Когда интернет-соединение возвращается в сеть, накопленные локальные данные перемещаются в центральный db (вставлены).Лучший способ создания уникальных идентификаторов для распределенных данных, которые будут объединены?

Каков наилучший способ обработки уникальных идентификаторов в этом сценарии? Другая важная информация:

  • Местные клиенты могут вспомнить свои локальные БД идентификаторов для связывания целей в автономном режиме; поэтому локальные идентификаторы должны генерироваться как глобально уникальные.

  • уникальный идентификатор в локальной базе данных не должен изменяться при объединении обратно в центральный бит.

  • В зависимости от устройства могут быть выбраны различные типы баз данных для локальных операций в будущем. JavaDb, TextFileDb и т. д .; поэтому я считаю, что для этого решения не нужно использовать одну проприетарную функцию db.

  • Когда изменения объединены с центральным db, все записи должны иметь уникальные идентификаторы.

Для этого вопроса предполагают простую таблицу с именем MyTable с полями: ID (первичный/уникальный ключ любого типа, который должен быть) и Field1, Field2, Field3 Последние не имеет большого значения.

Первое, что пришло в голову - использовать GUID. Есть ли образец или практика, которые лучше этого или лучший способ осуществить это?

Edit: Использование Microsoft .NET и ADO.NET

ответ

1

GUID работает.

Помимо этого, это в значительной степени проблема с Microsoft Sync Framework (вы не указали свою платформу разработки, поэтому здесь есть предположение). Он не привязан к какой-либо БД или тип данных или протокола, и может быть настроен для работы в различных сценариях автономной работы (в порядке, это начинает звучать как коммерческий ...)

http://msdn.microsoft.com/en-us/sync/bb887625.aspx

+0

Ваше предположение верный. Я добавил теги [ado.net] и [.net] –

+0

Sync Framework - это направление, которое я возьму. Благодарю вас за предложение. Раньше я не слышал об этой технологии. Чтобы получить обзор Sync на высоком уровне, это радио-шоу .NET Rocks было полезно для меня: http://www.dotnetrocks.com/default.aspx?showNum=499 –

 Смежные вопросы

  • Нет связанных вопросов^_^