У меня довольно простая проблема с синхронизацией. У меня есть таблица с примерно 10 столбцами, которые я хочу синхронизировать между sqlite файлом на трех разных клиентах: клиенте Iphone, клиенте браузера и клиенте Ruby on Rails. Поэтому мне нужно простое решение для сидения, которое будет работать для всех 3, т.е. Я могу легко реализовать его в Javascript, Objective C и Ruby и работать с JSON через HTTP. Я рассмотрел различные компоненты других решений синхронизации, например, один из git, некоторые из обучающих программ, которые появились из сообщества gears Google, и плагин rails, называемый act_as_replica. Мой наивный подход состоял в том, чтобы просто создать последнюю синхронизированную метку времени в базе данных, а затем создать журнал изменений всех удалений по мере их создания. (Я не допускаю обновления записей в таблице). Затем я могу получить все новые записи с момента последней отметки времени, объединить их с удалением и отправить журнал изменений как json через http между тремя решениями.
Должен ли я рассматривать использование хэша SHA1 или UUID каждой записи или это последняя синхронизированная временная метка? Как я могу убедиться, что нет дубликатов записей? Есть ли более простой алгоритм, который я мог бы выполнить?