MySQL: Twelve Days of Scaleout - reprise
As a follow up to my entry MySQL: Twelve Days of Scaleout, I listened to the webinar:
Scale-Out & Replication Best Practices for High-Growth Businesses. This one hour webinar gives a brief overview of different replication approaches to support scaleout. It was a good introduction. The slides are also available (slides). On many of the pages there are references to white papers or other pages that elaborate on the topic at hand.
The following is the agenda for the webinar:
• Introduction to MySQL
• Scale Out Overview
• Replication Fundamentals
• Statement vs. Row-Based Replication
• Replication Topologies
• Other Replication Strategies
• Case Studies
• Additional Resources Conclusion
The companies highlighted in the feature 12 Days of Scaleout used a variety of the techniques highlighted in this webinar. The techiques each have their unique advantages and disadvantages. For a complete solution you will likely need to use DRBD (Distributed Replicated Block Device) with Linux Heartbeats to have complete fail over and manage inconsistencies in the case of failure, utilize application partitioning (also called shards) to manage which ‘partition’ of the database to access, and add simpler replication to provide read-only copies for further scalability. There is no one size fits all - it depends on the data, and the application. But MySql has a wealth of techniques (some just becoming available in the lastest release - 5.1 - which is still designated as beta on most platforms) - and you should be able to find an appropriate combination them for your application.
One last link - Top Five Scale-Out Pitfalls to Avoid. This offers some food for thought in approaching your scaleout solution. Some of this I found familiar - but the rapid scale that can be required in a Web 2.0 application requires planning and architecting from the beginning - and these tips will be helpful.
Jim on June 25th 2007 in Technologies, Database Management Systems