ここが新しい!MySQL 5.1
MySQL 5.1とMySQL Clusterの分離
MySQLを開発していたMySQL ABが、2008年2月にサン・マイクロシステムズに買収されました。買収以前もオープンソースデータベースとして人気を誇っていたMySQLですが、買収後はダウンロード数が増え、さらに勢いづいてきているように思います。最近は少しロードマップに変化もあり、また最新版であるMySQL 5.1もリリースが近づいていますので、今回はMySQLの最新情報を中心に紹介したいと思います。
まず最新版であるMySQL 5.1ですが、原稿執筆時点(2008年6月中旬)では5.1.25-rcというリリース候補版のバージョンのものがリリースされています。GAバージョンのリリースが迫ってきているので、この記事が掲載されるころにはちょうどGAバージョンがリリースされているかも知れません。
実は5.1.25-rcでは大きな変更がありました。それは、これまでMySQL Community Serverに含まれていたMySQL Cluster関連のコンポーネントが別の専用のディストリビューションとして配布されるようになったことです。それに伴いMySQL Serverのパッケージは少しスリムになりました。
MySQL Serverのダウンロードページ(http://dev.mysql.com/downloads/mysql/)はこれまでと変更ありませんが、MySQL Clusterには専用のページ(http://dev.mysql.com/downloads/cluster/)ができました。
MySQL ClusterはMySQL Serverのストレージエンジンの1つで、負荷分散型・高可用性のリアルタイムデータベースです。一般的には複数のホストを用いて構成するような大規模システムで利用します。
そのため、新規にWebアプリケーションを開発する場合などの比較的小規模なシステムでは使う機会はほとんどないでしょう。ただし、そのようなシステムでも将来的にトラフィックが増えてきた場合、アプリケーションを変更することなくストレージエンジンをMySQL Clusterに入れ替えるだけで、システムをスケールアウトさせることが可能です。
なぜMySQL Clusterは分離したのか
MySQL Clusterを分けた大きな理由は2つあります。1つはMySQL ClusterとMySQL Serverの開発ペースが違うことです。それぞれ違うペースで開発していたので、それらを同じ時期にリリースするのが大変だったのです。
もう1つの理由は、MySQL ServerとMySQL Clusterではそれらを利用するユーザーの層がまったく違うということです。つまり、MySQL Serverの機能だけが必要なユーザーと、MySQL Clusterの機能だけが必要なユーザーに分かれることが多いのです。MySQL Clusterが分離することになった詳細な事情は、Kaj Arno氏のブログ(英語)(http://blogs.mysql.com/kaj/2008/05/23/mysql-clusters-improved-release-model/)に書かれています。
MySQL 5.1はバージョン番号は5.0とあまり違わないのですが、かなりの新機能が盛り込まれています。5.1ではなく、6.0というバージョンにしても良かったのではないかと思うぐらいです。
今回はMySQL 5.1の代表的な新機能であるパーティショニング、行ベースレプリケーション、イベントスケジューラ、ログテーブルの4つを説明したいと思います。MySQL Cluster関連の話題については次回以降に説明します。