I worked on a military system that went further than this, but again required a proprietary application to perform the updates.
Databases were either slave, master, of standalone. Any update transaction was logged to a file. If the master was available then If we are the master we apply the update and sent a replication update to all other databases. If we are the slave we send the transaction to the master and wait for its response. If the master was unavailable then we store the transaction until the master becomes available. At this point we apply any pending updates from the master. We then send our updates to the master an wait for a response. If the master detects a conflict between slave updates and pre applied updates then it refuses the update and sends a conflict message back to the originating slave, where it is up to the user to resolve manually. Standalone is a special version of master. It applies updates locally but remembers what the last update it received from the master was. When it is reconnected to the master the user must manually resolve conflicts and determine which, if any, of the updates should be applied to the master. When I left 14 months into the project we had the basic replication engine working but none of the conflict resolution stuff. Kevin Cowley R&D Tel: 0118 902 9099 (direct line) Email: [EMAIL PROTECTED] Web: http://www.alchemetrics.co.uk > The closest we got to this was having a master database in one place and > read-only slaves in another. UPDATE commands were always sent to the > master copy, and could not be done when the link was down. SELECTs were > sent to the local slave and could therefore continue when the link was > down. At the application level, we pipelined a few necessary but > uncomplicated updates to be done when the link returned. > > Alec > .com/[EMAIL PROTECTED] ************************************************************************************** ALCHEMETRICS LIMITED (ALCHEMETRICS) Mulberry Park, Fishponds Road, Wokingham, Berkshire, RG41 2GX Tel: +44 (0) 118 902 9000 Fax: +44 (0) 118 902 9001 This e-mail is confidential and is intended for the use of the addressee only. If you are not the intended recipient, you are hereby notified that you must not use, copy, disclose, otherwise disseminate or take any action based on this e-mail or any information herein. If you receive this transmission in error, please notify the sender immediately by reply e-mail or by using the contact details above and then delete this e-mail. Please note that e-mail may be susceptible to data corruption, interception and unauthorised amendment. Alchemetrics does not accept any liability for any such corruption, interception, amendment or the consequences thereof. ************************************************************************************** -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]