I will not bother to comment on Monty's keynote (but I did post the text to it so you can make up your own mind) and this brings us then back to the Tuesday and Oracle's opening keynote featuring Edward Screven.
Most tweeters and bloggers seem to have been a little disappointed with Edward. It is not up to me to call the talk boring, but I have seen him in much better shape, with much more enthusiasm. And it is not a secret that Edward was rushed directly from the keynote to some other meetings he had scheduled, maybe this factored in and he just had too many things on his mind. My take on this is that this may be a symptom of a larger pattern: Edward is one of Oracle's most brilliant executives. Unfortunately he is also one of the busiest ones with many responsibilities. So for MySQL's sake I hope that Edward will soon delegate the MySQL business to another manager reporting to him, who can focus full time on MySQL.
As for the substance of the talk, I had predicted a GA release of MySQL 5.5. I was proven wrong, (and Igor right) since it was only announced as Beta. This is kind of a non-event, since with the new MySQL release model you will have Beta's every 6 months, so there is no way to know if this Beta actually will become GA or not. Otoh, the shift from MySQL's "it will be released in Q2 but we don't know which year" announcements to Oracle's "no announcements or speculation before it actually happens" is certainly welcome.
This also means that the GA version that is MySQL 5.1 is now drifting even further from the competing forks in performance, when compared against stable and supported releases of MariaDB and Percona. The pressure was there already last year with the MySQL 5.4 beta, and now we've gone a whole year without it becoming GA yet. We'll see if there actually will be a 5.5 GA, or whether the next release will be 5.6 Beta...
Update: Mark Callaghan informs me that InnoDB Plugin 1.0.7 as bundled with MySQL Server 5.1.46 is now considered fully supported GA quality. Since the InnoDB plugin contains the bulk of the performance improvements at issue, the huge gap between stable releases of the different forks is now closed. On the other hand, I'm now even more surprised at the approach taken in Edvards talk: the release of InnoDB plugin as GA is huge news! Why wasn't this bundle mentioned at all? This should have been the leading slide! Similarly, to make perfomance comparisons against the old builtin InnoDB seems totatlly useless now. Any improvements in 5.5 should be compared against 5.1+plugin. (Which I essentially already said earlier.)
The usual pundits have cheered and welcomed the announcement of 300% performance improvement in performance. A keynote of course cannot go into deep technical details, but just waving such a number in front of this crowd is perhaps not the best approach. As an engineering minded person my response was mostly *yawn*. So by looking into other presentations and blogs to get more information, I get that:
- As Kostja points out, the 300% performance improvement is obviously not in peak performance, but rather at the far end of the graph with 128+ client threads bombarding the database. This is actually a significant improvement, but waving "300% improvement" made it look silly. Why not say: "now scales to 128 threads rather than 8", now that is something we have been waiting for! Also my car goes 300% faster when I release the hand brake, but it is not interesting news, but if you've recently realised there is a hand brake, make that your news.
- A commenter makes an interesting point: "What is interesting here is what was not said. Sun has machines that have 128+ cores... Say 2 threads per core... you've now got very performant hardware for MySQL." Indeed, I did not look at it that way. It may be Oracle doesn't want us to realize MySQL now scales well on so many threads/cores, since they want to push their proprietary database for that instead. Would be interesting to know. (For all I know, there is no conspiracy theory, the presentation just wasn't perfectly prepared.)
- The other piece of lacking information is that all comparisons are against MySQL 5.1. Since MySQL 5.4 was announced last year, it would have been more interesting to know what 5.5 adds on top of that. Since a big and competent team has worked on this for a year, I know there has to be performance improvements. So it bothers me that the information is not easily available. Last year I think there was also comparisons with InnoDB plugin and XtraDB, which was nice.
- Vadim was nice enough to benchmark MySQL 5.5 against the newest Percona Server. It seems to me they are more or less equal. This means that MySQL 5.5/InnoDB merely manages to keep up with Percona, rather than making leaps ahead.
- One note on this is that also the InnoDB and XtraDB codebases are at risk at diverging. It seems that the adaptive flushing of buffers was first implemented by Percona, and has now been reimplemented by Oracle, but the code is not the same. (Did I get this right, it is not my job to actually look at the code?) This is of course the same problem as noted about MariaDB in the storage engine summit. Since Oracle currently doesn't take GPL licensed code into MySQL, unless we can talk ourselves into a sane solution, this divergence may be inevitable. Duplication of efforts is not good though.
There were two rather obvious announcements. So obvious I even forgot to predict them pre-conference, so they actually came as surprises :-) I had kind of expected that InnoDB Hotbackup will be added to the MySQL Enterprise Subscription package. And also that it will remain closed source. (Btw, you may want to check out Xtrabackup from Percona, which is a fully open source implementation of online backups. We intend to include it in MariaDB too.)
The other piece of news was setting InnoDB as the default storage engine. While this is technically just flipping a setting, which most of us do anyway in our installations, it is not a dramatic change, but it is significant in setting a higher standard. MySQL is now transactional by default. I believe there may still be the odd hosting provider that only gives you MySQL with MyISAM and disable InnoDB to minimize the memory footprint. (In MySQL 4.1 times I was bitten by this when trying to host a transactional web app.) This will no longer be acceptable!
Finally Mark Matthews demonstrated new goodies in MySQL Enterprise Manager. It is not for me to recommend anyone to use closed source software, but for users of MEM there was a gold nugget in the demo: You can now get your query statistics from the JDBC driver! No more will it be necessary to run MySQL proxy on your DB servers to use the query analyzer.
In my opinion this was the most significant announcement of all. It was very well hidden in the middle of the demo at the end of the keynote. It amuses me that I think I may have been among only a handful of listeners who even picked up on this. So in summary, Edwards keynote did contain interesting stuff, but it was well hidden. Not well communicated. (FWIW, some have said the same about Monty's keynote. So my intent is not to criticize, quite the opposite, I want to highlight the good stuff that wasn't obvious to all.)
I did really enjoy the keynote by Tim. Tim is always a few steps ahead of us, and history has proven that he is correct in the issues he raises, so it pays to listen to him. And talking about open data (access) is certainly appropriate for an open database conference!
Tim also handed out the MySQL awards for this year. Colin has reported about this with photo and everything. This years winners all turned out to be strong code contributors, beating even some very prominent bloggers that were nominated too. I personally think it is a healthy direction. Congratulations to all winners!
This concludes my series of posts about the MySQL conference. Thank you for participating and/or reading, and hope to see you again next year!
PS: Next year there will be no volcanoes, but we are already planning on something even more dramatic than previous years... Stay tuned for Call for Papers next Autumn!