I have had a busy year playing with databases and it is nice that now things are slowing down. Of course next year holds lots more changes, but that is normal.
The big MySQL 5.0 to 5.1 upgrade that I have been spending a lot of time on recently has nearly finished. In spite of the early issues with upgrading servers with stored procedures and triggers, most of the servers are now running 5.1 so that is good, and the upgrades have been reasonably painless. Only the master servers need to be looked at, but with fewer people being around over the holiday period this will wait until next year.
Several users have been pleasantly surprised by the performance gain in switching to 5.1. That is also good news. When I finish upgrading all servers I will also be able to try out some of the 5.1 features such as RBR or partitioning. On the larger servers I’m hoping this will further help performance.
Finally I should be able to escape merge table hell. That is something that a lot of people have wanted but has not been possible. It’s strange: merge tables seem like a great idea and in fact work very well, but they have always had corner cases where something would break. That has been infrequent enough to not stop us using merge tables, but frequent enough for something to break from time to time causing us all to lose sleep and get quite frustrated.
It would have been so much nicer if MySQL had dedicated time and effort to allow us to avoid merge tables altogether: make views work efficiently, or to provide partitioning. 5.1 provides partitioning, but the lack of performance of complex views has kept me away from them. Again, this is where you pay for having an optimizer designed to run very quickly. It does not have time to analyze and determine how best to perform complex operations.
With quite a few machines to install and upgrade one thing is clear: automation is very necessary. I’ve found puppet to be a good tool to get these jobs done. While it can not do everything, it does avoid me doing all the tedious repetitive steps that are time-consuming, allowing me to focus on more important things. If you have more than a few (database) servers to manage in a Linux or UNIX environment give puppet or an equivalent product a try. You will not regret it. So thanks to those at Reductive Labs for the work they have done.
I see that MySQL 5.5.0-m2 has been released. I will need to take a look at this next year and see how it compares to 5.4.3 which I was playing with this Autumn. If my experiences with 5.4.3 are anything to go by then it will be a nice to use, and the extra performance compared to 5.1 will make it an interesting product to try out.
Last, but not least thanks to the merlin developers. MySQL Enterprise Monitor is getting better and saving me a lot of time. I stress it a little too much perhaps but it has helped me to keep an eye on the db servers I manage. The developers take a lot of flack from me. That’s because I hope that their product will allow me to relax and not worry and tell me if something breaks or needs attention and if possible at some stage in the future fix it for me. Rather a hard target to achieve of course, but many of the day to day monitoring tasks merlin provides do make my life easier. So thanks. Keep up the good work.
So as things are quieter now and I’m focusing on more leisure tasks I’ll wish you all Seasons Greetings and hope that 2010 will keep you busy and entertained.