Jigal van Hemert wrote:
Stefan Kuhn wrote:

Am Thursday 27 October 2005 12:56 schrieb Raphaël 'SurcouF' Bordet:

Le vendredi 16 septembre 2005 à 18:14 +0200, Stefan Kuhn a écrit :

I'm using it with four machines (geographically separate) and it works
fine. Stefan


And can writes on each server in simultaneous time ?


I don't understand the question. Replication is pretty fast, but is not guaranteed to happen in a certain time (not real-time).


Stefan,

I think Raphaël wants to know if a user can use any server in the circle to update or insert records and that the changes will be replicated to all other servers.

In another thread he stated that it was for maintaining student information on various remote locations (a student can login into the system on any of the locations).

What happens if a record is updated on two servers and the changes are forwarded to the other servers in the circle? I dont' think that this would occur often with student information, but both the student and the administration department might update a record "simultaniously" (in comparison to the speed of replication with several remote locations).

Regards, Jigal.



Any time you are running circular replication, it is possible for a situation to arise where two servers receive "conflicting" updates at nearly the same time; this can cause replication to stop on both servers at the point where they read the other server's conflicting update from their master's binary log.

For example, imagine 4 servers, A->B->C->D->A, and imagine that A and C both receive an insert statement containing the same unique key. Replication would stop when A reads C's insert from D's binary log, and when C reads A's insert from B's binary log. When this type of conflict happens, it can be difficult or impossible to restore data integrity between all servers. Another example, imagine that A had received an update like "SET $val = $val + 5" while C had received "SET $val = $val * 2". These would not conflict - in the sense that replication would continue uninterrupted - but data integrity would be lost.

In short, any time you are running circular replication, you have to ensure that updates are processed in the same order on all servers, or know that the order is irrelevant to your data integrity.


Regards,
Devananda vdv

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to