MySQL 5.1はまだベータ版の品質

MySQL創設者の一人、MontyことMichael Wideniusが書いているブログが正直すぎる。
Oops we did it again (MySQL 5.1 released as GA with crashing bugs)

  • あなたがMySQL 5.1をMySQL 5.0の「より良いバージョン」として使おうとしていて、MySQL 5.1の新機能を使う予定がないのならば、おそらくMySQL 5.1を試しても大丈夫だろう。しかし十分にテストをすることなしに本番稼動させるべきではなく、数週間はスレーブの一つとして使うのにとどめておくべきだ。また十分にテストしたとしても、MySQL 5.1を本番稼動させる前にいくつかのパッチがリリースされるのを待ったほうがよい。
  • 5.0で直面したすべてのクリティカルなバグが5.1で修正されていることを期待してはいけない。我々は5.0で大きなバグを直したかもしれないが、いくつかの本当にクリティカルなものはまだ残っている。
  • もしMySQL 5.1の新機能を使う計画があるのならば、それらはまだベータ版の品質であると認識していてほしい。新機能を本番投入する前に、それらの機能について実際のシナリオに近い広範囲な試験を行ってほしい。
  • MySQLを使うこと自体が初めてなら、MySQL 5.1を使うべきだ。少なくとも最近アップデートされていないMySQL 5.0のコミュニティ版よりはまともだ。

ぐぬぬ
新機能はRelease 2から使えっていうOracleの格言もあるし(あるよね?)、最初からベストのものが出てくるとは思ってないけど、中の人がこんなことを言うなんて。
実際リリースノートを追っていると分かるんだけど、MySQL 5.0もリビジョンが72まで上がっているのにいまだにSQL一発でサーバが落ちるバグが出てるんだよね。mysqld_safeがちゃんと役に立っているという。

  • MySQLのコア開発者は多くのチームに分散してしまい、そのうちのごくわずかな開発者だけがMySQL 5.1でバグ修正を行ってきている。コア開発者のうちの何人かは最近になってMySQLをやめてしまっており、深刻な問題になっている。
  • 大勢の新たな開発者が、MySQLサーバに関する十分な知識なしにバグ修正に取り掛かっている。レビュープロセスに欠陥があったこともあって、古いバグの修正が新しいバグを大量にもたらしてしまっている。
  • 以前MySQL Users Conferenceで述べたように、MySQLサーバの開発モデルを真剣に議論すべきときがきている。開発モデルをDrizzleやPostgreSQLのようなコミュニティ駆動のものにすべきだ。
  • ぜひMySQL 5.1をインストールしてテストしてほしい。そしてもしうまく動かなければそれをレポートしてほしい。バグがあれば修正されるし、MySQLとSunのマネジメント部門は同じことをMySQL 6.0で繰り返さないための知見を得ることができる。

確かに、MySQLはあくまで一企業の製品なので外部の人はコミッタになれない。バグ報告はいくらでもできるけど、外で使っている人からするとなんとなく蚊帳の外って感じはするね。一般の人が趣味で読むには規模が大きすぎるし、企業が支援するにはLinux Kernelほどオープンなモデルでもない。今のライセンスではあのパッチこのパッチも入る余地がない。悩みどころ。