High Performance MySQL, Second Edition: Replication, Scaling and High Availability

Continuing in the tradition, which I hope has been as helpful to you as it has been to me, I’m opening the floor for suggestions on chapter 9 of the upcoming High Performance MySQL, Second Edition. Unlike the other chapters for which I’ve listed outlines, this one isn’t substantially written yet. It’s in detailed outline form at this point (a tactic that has worked very well for us so far — I’ll write about that someday).

I’m trying to get feedback much earlier in this chapter’s lifecycle, for several reasons. Two of the most important are that this is one of the first chapters I’ve had a chance to really take from scratch, and the chapters I haven’t written from scratch have been harder to organize, as you’ve probably seen from the last few outlines I posted. There’s a lot of value in working top-down on this deep encyclopedia-style material.

The outline, as it stands now, is basically headings with bulleted lists of important details. Here are the top-level headings:

[Intro]
Scaling and High Availability Requirements
Replication Overview
Configuring Replication
Under the Hood of Replication
Replication Topologies
Replication Administration and Maintenance
Replication Problems and Solutions
The Future of MySQL Replication
Scaling MySQL Horizontally
Clustering with MySQL
   MySQL Cluster
   Other Clustering Solutions
Load Balancing

Just a few notes. These sections are top-level, and will likely be split into many sub-sections like other chapter outlines I’ve posted. A typical section has a couple dozen bullet-points in it, at a high level of granularity, such as “Using DRBD for log replication only.” I think we’ll also add in a separate section on fail-over and fail-back, but that’s not in the outline as of right now (what do you think belongs in it?).

I don’t know what it’s like for you to read outlines and see little bits of the book being assembled, but the process of writing this book is just fascinating to me. It’s endlessly interesting and educational — just the process of writing, let alone the subject matter! This is a really fun project. A heck of a lot of work, but fun nonetheless, and the openness of the project makes it even more fun for me. I’ve learned a lot of surprising and interesting things about writing. I keep wishing I had time to write about this process, but I really need to keep my eye on the deadlines and put that off for later.

Anyway, the usual requests apply: what’s missing, what do you think is cool and should be included, etc etc? Thanks, as usual, for your time and feedback.

Technorati Tags:, , , , , , ,

You might also like:

  1. More progress on High Performance MySQL, Second Edition
  2. What are your favorite MySQL replication filtering rules?
  3. Progress report on High Performance MySQL, Second Edition
  4. High Performance MySQL, Second Edition: Backup and Recovery
  5. Progress on High Performance MySQL, Second Edition

5 Responses to “High Performance MySQL, Second Edition: Replication, Scaling and High Availability”


  1. 1 david

    I really liked the use cases and scenarios of the first book, where the authors shared their experiences in “real life” scenarios.

    I’d love to see that in this editions too. I think in this chapter it’s valuable in particular, to get an idea of how to scale your application.

  2. 2 William Newton

    I think you have the important topic covered. What I would really like from this chapter is some kind of a scalability trade off chart. Everyone recommends scaling mysql horizontally. Horizontal scaling has some real benefits, but I think some storage engines may also have some problems with vertical scalability (specifically innodb). I guess, more than anything, I would like a honest discussion of the subject describing not only the strengths and weaknesses of the different concepts of vertical and horizontal scaling, but also mysql’s compatibility with each type.

  3. 3 Lukas

    With the growing number of solutions that exist for MySQL, it becomes increasingly hard to people to figure out what to use. As such I would make this the key point of this chapter. Provide a matrix of what solution solves what. Maybe even provide a checklist to go through.

    Also make sure that you do also mention the theoretical background a bit, so that people become more able to ask the right questions when they are facing new emerging solutions for MySQL

  4. 4 Xaprb

    Thanks all. As for the table/checklist/matrix, this is a valuable suggestion and I’ll make an effort to include it.

  1. 1 What are your favorite MySQL replication filtering rules? at Xaprb

Leave a Reply

Please do not use this blog to get help with problems or bugs in Maatkit or innotop: use the Sourceforge forums, mailing list, or bug trackers. If you're asking for help with MySQL, please use the MySQL mailing list instead.