Databases Synchronization Proposal
Geert Jan de Groot
Fri Mar 3 22:26:32 CET 1995
On Fri, 3 Mar 1995 09:08:08 -0500 (EST) Laurent Joncheray wrote: > > There is semantic information in the order in which updates are processed. > > Assume the following scenario: > > 1. Someone registers a Bananna object (note typo) > > 2. The database includes & sends ack > > 3. The person finds the typo > > 4. The person deletes Bananna > > 5. The person registers Banana (no typo). > > > > If these updates are also sent to a shadow copy, then one must make > > shure that (1) comes before (4), otherwise the delete won't work > > and Bananna will still be in (the databases will be out of sync) > > I don't get it. If the update is time stamped (as specified in my > prososal) with 1 second resolution, then ordering of the update is > trivial. If (1) come after (4) then it'll be rejected because it's older. I am afraid there is a miscommunication here. if (4) arrives first, then the delete fails because the original object (1) hasn't arrived yet. Updates would silently fail as no acks are sent. If (1) arrives after this, then it will be added to the database, and it will stay there in the example. The primary doesn't have Bananna anymore, but the secondary has. By tweaking your ideas a bit as I suggested,, I think we can make things work in such a way that frequent full database transfers will not be needed at all, as long as no update is lost. Geert Jan (Dale: will make your changes tonight/tomorrow. Last train home & snow forces me to go _now_...) -------- Logged at Sun Mar 5 23:16:08 MET 1995 ---------
[ rr-impl Archive ]