On 6/11/2012 10:36 AM, Ananda Kumar wrote:
...
Master-master allows load balancing.


Why do people keep replication rings as if they are the best possible configuration? A master-slave relationship also permits load balancing and is easier to maintain and recover in the event of a node failure.

Any MySQL replication topology cannot, in a generic sense, allow load balancing. Careful precautions must be maintained in your load balancer and in your application code to avoid data collisions (adding or modifying the same PK on the same table on two or more nodes at the same time).

For continuous uptime, you do need redundancy. For the 'limited downtime' scenario that the customer proposed, this includes geographical redundancy as well as physical duplication and should also include sharding his data so that the loss of one sharded set (due to extreme disaster or comms failure) does not knock all of his users offline at the same time.

"realtime" data is also a variable definition. For hydrologic monitoring data 'realtime' could mean within the last 15 minutes. For some applications (such as telecommunication) 'realtime' is measured in microseconds. It may be that the customer's requirements can tolerate a normal variance in duplication time provided by MySQL's native replication. If not, then rewriting (notice I did not say "porting") their application to use MySQL Cluster may be the way to meet their "realtime" requirements.

Yes, master-master replication can be useful (in an active-passive setup) for rapid failover and recovery if you take the appropriate precautions. It is not recommended for the newest administrators because recovery can become complicated. One should really understand basic, top-down master-slave replication before attempting to create a replication ring.

Active-Active (dual master) configuration is even more complicated and is suited only for specific application purposes. This is definitely an advanced technique and requires careful planning and engineering to perform properly.

Regards,
--
Shawn Green
MySQL Principal Technical Support Engineer
Oracle USA, Inc. - Hardware and Software, Engineered to Work Together.
Office: Blountville, TN



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

Reply via email to