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