J'ai un problème de synchronisation assez simple. J'ai une table avec environ 10 colonnes que je veux garder en synchronisation entre un fichier sqlite sur 3 clients différents: un client Iphone, un client de navigation, et un client Ruby on Rails. J'ai donc besoin d'une solution de sycing simple qui fonctionnera pour tous les 3, c'est-à-dire que je peux facilement l'implémenter dans Javascript, Objective C et Ruby et cela fonctionne avec JSON sur HTTP. J'ai examiné divers composants d'autres solutions de synchronisation comme celui de git, certains tutoriels issus de la communauté Google Gears et un plugin rails appelé acts_as_replica. Mon approche naïve consiste simplement à créer un dernier horodatage synchronisé dans la base de données, puis à créer un journal des modifications de toutes les suppressions au fur et à mesure. (Je n'autorise pas les mises à jour des entrées dans la table). Je peux alors récupérer toutes les nouvelles entrées depuis le dernier horodatage, combiner ensuite avec les suppressions, et envoyer un changelog comme json sur http entre les 3 solutions.Quelle est la meilleure façon de synchroniser 2 tables sqlite sur http et json?
Devrais-je considérer l'utilisation du hachage SHA1 ou d'un UUID de chaque entrée ou est-ce qu'un dernier horodatage synchronisé est suffisant? Comment puis-je m'assurer qu'il n'y a pas d'entrées en double? Y a-t-il un algorithme plus simple que je pourrais suivre?