On 10/7/09 11:50 , "Simon Slavin" <slav...@hearsay.demon.co.uk> wrote:

> 
> On 7 Oct 2009, at 10:13am, Jean-Denis Muys wrote:
> 
>> [setup description]
>> 
>> I'd appreciate some feedback here or
>> pointers to litterature.
 
> Try really really hard just to have all sites access your MySQL
> database remotely.

Unfortunately this approach is not possible in the short term. The client
applications are legacy applications, porting them to that scheme is a major
undertaking. I need to insert my code within the legacy applications only in
a way that as little invasive as possible. This trigger/polling approach was
deemed a fair compromise. Overtime, new appls will probably be developped
that work directly against the central database, and the legacy apps will be
phased out progressively. Also those legacy apps also work when offline,
which is a strong incentive to keep them (and I know this opens a new kind
of can of worms). Finaly the central server is one or two stellar systems
away, with bad latency and throughput. The local data repository in a way
acts as a cache to keep the apps responsive.

> 
> Keep a journal.  Keep an unaltered central copy of the data.  As each
> site contacts the central site, play that sites journal back against
> the unaltered central copy.  The post-journal central copy of the
> database becomes the new copy for distribution.

Interesting idea, that makes a lot of sense in the "offline" scenario.

> [snip scary scenarios]
> 
> If your system deals with those, it's most of the way there.
> 

I'll have to handle those cases very carefuly. Clearly, when two clients
modify the global state in an incompatible way, some kind of conflict
resolution must happen (similar to what Version Control Systems do). The
proviso here is to make sure these conflicts are at least detected.

I need to think about all this some more. Thanks a lot for your very
valuable feedback.

In any case, any book reference on this topic?

Jean-Denis

_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to