Keep track of changes, keep track of backups.

On 10/6/10, David Haymond <haymondsoftw...@gmail.com> wrote:
> If I copy, I don't want to transfer EVERY record to the server each time I
> sync, because that would be a waste of bandwidth. What is the best way to
> copy only those records that have changed to the server?
>
> David
>
> -----Original Message-----
> From: Simon Slavin
> Sent: Wednesday, October 06, 2010 7:18 AM
> To: General Discussion of SQLite Database
> Subject: Re: [sqlite] SQLite database sync
>
>
> On 6 Oct 2010, at 1:29pm, David Haymond wrote:
>
>> I am completely new to SQLite (and SQL in general), and I am currently
>> working on an iPhone app that uses the embedded SQLite engine to cache
>> offline data. What is the best way to implement synchronization
>> capabilities (change tracking, state tracking, etc.) in a separate table
>> (such as meta), so that the app can sync to the server?
>>
>> My database contains two tables: locations and trips. trips is the child
>> of locations.
>
> Does it actually have to synchronise ?  In other words, are changes made to
> both copies, or only to the copy on the iPhone ?  If changes are made to
> only one copy, you can just copy that copy (if you see what I mean).
>
> If changes are made to both copies, you're in for a world of hurt because
> you really need to separate out intentional changes from the changes
> actually made.  One way to do it is to keep a log of the operations executed
> since the last synch.  For example you could make another table 'changelog':
>
> timestamp operation
> 2398479 INSERT INTO locations ...
> 2402372 UPDATE trips ...
>
> To synchronise you just execute the log, in timestamp order, on all the
> other copies.  This does not work properly under all circumstances because
> UPDATE commands can interfere with one-another, but in a simple database it
> should work fine.
>
> To do things properly you need to maintain a separate unchanged model, synch
> it with all the satellites, then copy it to all the satellites.  It's
> complicated and requires lots of bytes moved about.
>
> Simon.
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>

-- 
Sent from my mobile device
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to