<Robinson, Eric: 5/17/04 1048>
>there is no mechanism for propagating slave changes
>from the slave back up to the master... synchronization
>occurs *only* from master to slave
>(hence the terminology).

Then why do they call it 2-way replication? Is there such a thing as
master-to-master?

</Robinson, Eric>

Eric,

In order to declare a server a "master" server it must be able to accept
INSERTs and UPDATEs without corrupting your data integrity. If you want to
keep 2 "master" servers in sync, you must implement some form of
distributed locking. Distributed locking is what keeps both servers from
issuing the same ID number at the same time to two different records or
permitting simultaneous updates to the same record on two different
servers.  Once you solve the issue of distributed transaction locking you
are now able to keep both sets of data intact. The entire
locking/communication cycle between two (or more) servers that ensures BOTH
data integrity AND consistency is what is mean by the term "2-way
replication".

MySQL does not support distributed locking (yet). Until then, your data
integrity is ensured ONLYif you allow inserts/updates on only 1 server at a
time and copy the changes as they happen to all other servers that need
copies of the data. If you have two servers, A and B, and your applications
are written so that server A is where all of the data creation and changes
occur then you can ensure that all new records will have unique primary key
values and that each primary key value identifies the same data (you have
achieved data consistency). Those new records could be copied over to B
through the built-in replication system in near-real-time. This is the
1-way replication you have read so much about. Each master server (like A)
can "push" data to multiple slaves (like B) but as of right now there is no
way for separate MySQL servers to communicate with each other so that each
of them can accept new or updated data while preventing loss of data
consistency (2-way or n-way replication).

I hope I helped you to understand that 2-way replication involves much more
than simple data copying from server to server and requires an entire
distributed transaction system in order to prevent data collisions and
corruptions. MySQL will have it in a future release but it's ready for an
initial alpha test, yet.

Shawn Green
Database Administrator
Unimin Corporation - Spruce Pine



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

Reply via email to