Whew! I just finished a marathon of revisions. It's been a while since I posted about our progress, so here's an update for the curious readers.
Well, if my perfectionist nature were allowed to run free, and if Peter et al's encyclopedic knowledge were somehow all transferred to paper, the second edition of High Performance MySQL would end up being the perfect encyclopedia of MySQL performance. But as it is, you're apparently going to have to settle for "very good." This quote by Sheeri Kritzer Cabral, one of our tech reviewers, really made my day:
I gotta hand it to Peter, Vadim, Arjen, and Baron. They know how to write a book!
And now I must begin a solid weekend of revisions... wish me luck!
It's been a while since I said anything about the progress on the book. That doesn't mean we are not still working on it, though.
As Peter wrote a while ago, he is basically
wearing the hat of a very advanced technical reviewer at this
point. We've finished writing all the chapters from his detailed
outlines. He has worked through about half the chapters, and I'm
continuing to spend my evenings and weekends and holidays (yes,
nearly all my free time -- just ask my wife!) writing some new
material (an appendix on EXPLAIN
, for example),
finishing unfinished things marked with TODO in the text, and
revising chapters after Peter reviews them. Vadim is working on
benchmarks. For example, he just finished some benchmarks for
something I profiled with SHOW STATUS
. I thought
that would be good …
A while ago I asked for people and/or organizations to sponsor development on Maatkit (formerly MySQL Toolkit) so I could take a week off work and improve the Table Sync tool. I asked for $2500 USD, but several companies have graciously offered to cover that and then some.
I'm very happy about this, as it will allow me to dedicate a solid week to fixing bugs and adding features. There's a lot of demand for the tools, and there are a dozen or so bug reports unresolved for the table-sync tool, which I personally want to fix as much as anyone. So I'm very grateful for the support.
Here are the companies who have promised their financial support:
MySQL AB
…
[Read more]It's been a while since I've written about progress on the book. I actually stopped working on it as much at the beginning of the month, because on October 31(st) I managed to finish a first draft of the last big chapter! Now I'm back to full-time work at my employer, and I'm working on the book in the evenings and weekends only. Read on for details of what I've been working on and what's next in the pipeline.
Last week I wrote about my efforts to measure MySQL's replication speed precisely. The most important ingredient in that recipe was the user-defined function to get the system time with microsecond precision. This post is about that function, which turned out to be surprisingly easy to write.
Very fast, as it turns out. Click through to the full article for details.
As I wrote a few days ago, I'm writing the replication chapter for the second edition of High
Performance MySQL. I'm writing about replication filtering
rules right now, and I thought it would be good to get input on
this. If you have favorite replication filtering tricks you'd
like to share, or tasks that always frustrate and/or confuse you,
please post them in the comments. I'm making a section that shows
how to accomplish common filtering and rewriting needs, such as
preventing GRANT
statements from replicating to the
slaves.
Thanks very much! I hope the community involvement will make this book more useful for everyone.
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.
Read on for the outline and more thoughts I just can't keep to myself.
I've been trying to circle back and clean up things I left for later in several chapters of High Performance MySQL, second edition. This includes a lot of material in chapter 4, Schema Optimization and Indexing. At some point I'll write more about the process of writing this book, and what we've done well and what we've learned to do better, but for right now I wanted to complete the picture of what material we have on schema, index, and query optimization. The last two chapters I've written about (Query Performance Optimization and Advanced MySQL Features) have generated lots of feed back along the lines …
[Read more]