10月17日にMySQL ABは,製品プロダクトの大きな転換を発表した。それが,MySQL Enterpriseである。このMySQL Enterpriseという言葉は,様々な場面で使用される。そのため,誤解や混同が発生しそうだ。そこで,今回は,MySQL Enterpriseについて詳しく解説する。
MySQL Community ServerとMySQL Enterprise Server
これまで,MySQLでは,一つのソースコードに基づいて,2つのライセンス形態(デュアル・ライセンス)のMySQLバイナリを提供していた。一つは,GPLライセンスに基づく使用を義務付けたもので,Community Editionと呼んでいた。それに対してコマーシャルライセンス(商用ライセンス)に基づくものをCommercial (non-GPL) Editionと呼んでいた。この名称は便宜的なもので,機能やソースコードに違いはなかった。
図1●MySQLの変化
しかし,MySQL Enterpriseの登場によって,MySQL Community ServerとMySQL Enterprise Serverという2つのカテゴリーが生まれた。この違いを説明する前に現在リリースされているバージョンを確認する。
MySQL 5.0.26のリリース取り消しとMySQL 5.0.27 Community ServerとMySQL 5.0.28 Enterprise Server
10月3日に多くのバグフィックスを含んだMySQL 5.0.26がリリースされた。しかし,主に組み込みに使用するABI(Application Binary Interdave)の互換性に問題が見つかり,リリース取り消しとなった。そして,10月28日に登場したのが,MySQL 5.0.27 Community ServerとMySQL 5.0.28 Enterprise Serverだ。
現時点では,この2つのバージョンにソースコード・レベルでの違いはない。しかし,今後は,MySQL Community ServerとMySQL Enterprise Serverに違いが発生するだろう。その理由は,これらが,大きく異なる目的を持って作成されるからだ。
MySQL Community ServerとMySQL Enterprise Serverの目的と内容
これまで,一つのソースコードに2つのライセンスがMySQLのトレードマークであり,制度上の大きな特徴だった。これが,目的別に2つに分かれる。そのため,ある時点で,ソースコードが異なる2つのMySQLが存在することも発生する。
MySQL Community Server(以後Community Serverと呼ぶ)は,新機能の搭載を優先して作成される。つまり,アグレッシブなバージョンと言える。リリースは,機能追加とバグフィックスを反映して不定期に行う。
MySQL Enterprise Server(以後Enterprise Serverと呼ぶ)は,安定運用に向けたバージョンと言える。十分な稼働確認を実施し,品質を最大限保つものである。そして,極力機能変更を行わず,バグフィックスを反映したバージョンを定期的にリリースする。
この2つのバージョンの違いをMySQLでは,次のような表であらわしている。
表1●Community ServerとEnterprise Serverの違い
Community Server | Enterprise Server | |
ソースの公開 | ○ | ○ |
機能の実装方針 | 機能実装重視 | 安定重視 |
品質保証試験の実施 | × | ○ |
バグフィックスのリリース | 随時 | 毎月 |
サービスパックのリリース | × | 四半期 |
緊急時のHotfixリリース | × | ○ |
バイナリの配布 | ○ | MySQL Enterprise 購入者に提供 |
インストーラの提供 | ○ |
Community ServerとEnterprise Serverは,目的が異なることからバージョンアップのタイミングやパッチの提供に大きな違いがある。
Enterprise Serverは,毎月のアップデートと四半期のサービスパックのリリースを行う。そのため,今後は,毎月バージョン番号が2つずつアップする。
Community Serverは,不定期にリリースが行われる。リリースされると,その時点のEnterprise Serverの一つ前のバージョン番号となる。
表2●リリースのタイミングとバージョン番号
タイミング | Enterprise Server | Community Server | |
アップデート | サービスパック | 不定期 | |
バグフィックス | バグフィックス | バグフィックス+機能追加 | |
2006年10月 | 5.0.28 | 5.0.27 | |
2006年11月 | 5.0.30 | ||
2006年12月 | 5.0.32 | 5.0.30a | |
2007年1月 | 5.0.34 | ||
2007年2月 | 5.0.36 | 5.0.37 | |
2007年3月 | 5.0.38 | 5.0.36a | |
2007年4月 | 5.0.40 | ||
2007年5月 | 5.0.42 | ||
2007年6月 | 5.0.44 | 5.0.42a | |
新メジャーバージョン | 同期 | 同期 | ベースとして採用 |
今後は,Enterprise Serverのアップデートに合わせて,バージョン番号が毎月更新される。もちろん,5.0や5.1のようなメジャーバージョンのアップでは,同期を取る予定だ。