MySQLとは(MySQLの概要)
MySQLとは、世界中で広く使われているオープンソースのデータベース管理システム(DBMS)である。オープンソースのデータベースとしては、世界で最も普及しており、「性能(高速)」や「安定性」に定評がある。
オープンソースだが、MySQL社によって、開発やソースコード管理が行われており、利用者は「GPLライセンス」か、「商用ライセンス」のいずれかを選択する、「デュアルライセンスモデル」を採用している。
商用製品では、Oracle Databaseや、Microsoft SQL Serverが同様の機能を提供している。
MySQLに対する有償のサポートサービスや、トレーニングも提供されている。
- MySQLの概要
- MySQLはどのくらい使われているのか
- MySQLの機能と性能
- MySQLのコスト
- MySQLの導入事例
- MySQL導入のメリット
- 1. オープンソースであること
- 2. 実用性を重視した開発ポリシーであること
- 3. ストレージエンジンが選択できること
- MySQLの有償サポートの利用を検討する
MySQLはどのくらい使われているのか
MySQLは日本でどのくらい使われているのだろうか。
日本では、同じオープンソースのデータベースである「PostgreSQL」もよく使用されているが、世界ではMySQLのほうが多く使われている。

※データベース管理システム(DBMS)のシェア(出典:MySQL AB)
MySQLの機能と性能
次に、MySQLの機能面、性能面における商用製品との比較はどうだろうか。まず機能面であるが、以前はMySQLの機能は商用製品に劣るとされていた。しかし、バージョンアップを繰り返す中で機能追加が行われ、現在では商用製品と比較しても遜色の無い機能を持っている。
- トランザクション管理(バージョン3.23.34で導入)
- 副問い合わせ(バージョン4.1.0で導入)
- クラスタリング(バージョン4.1.3で導入)
- ストアドプロシージャ(バージョン5.0.0で導入)
- ビュー(バージョン5.0.1で導入)
- トリガ(バージョン5.0.2で導入)
次に性能面についてだが、商用製品のDBMSを使用したあるシステムを、MySQLに移行する検証を行った。この結果をご紹介する。

パラメータを適切にチューニングしたところ、MySQLは商用製品の6倍もの性能を示した。
MySQLのコスト
MySQLはオープンソースであるため、まったく費用はかからない。しかし、業務システムでMySQLを使用する場合は、有償のサポートサービスや商用ライセンスを利用する選択肢もある。有償のサポートサービスや商用ライセンスを利用すると、商用製品と比較して割高になるのではないか、という不安もあると思うが、実際に比較してみるとかなりのコスト削減効果があることがわかる。

※ システム構成は「4CPUのサーバ×1台」という想定で算出
※ NRIが提供しているMySQLサポートサービスを導入した場合を想定
MySQLの導入事例
MySQLは、業務システムにおいても既に多くの導入実績がある。弊社における実績だけを列挙しても、以下のようなものがある。
- 証券会社様 オンライントレードシステム
- 情報提供サービス企業様 Webシステム
- 通信会社様 業務システム
- メディア企業様 Webシステム
※ Openstandia 導入事例ページについても参照のこと。
このように、業務システムにおける導入実績が多数あることが、MySQLの信頼性の高さを証明していると言えよう。
MySQL導入のメリット
データベースには、商用製品からオープンソースまで様々なものがある。その中でMySQLを選択するメリットは何であろうか。以下に整理する。
1. オープンソースであること
MySQLの最大の特長は、やはりオープンソースであるという点である。ベンダーからバージョンアップを強制されることもなく、「ベンダーロックイン」も避けることができる。これによって、システムにおける製品選定の主導権をユーザー側で握ることが可能となる。この点は、オープンソースソフトウェア全般にいえる大きな特長の1つである。
2. 実用性を重視した開発ポリシーであること
MySQLの開発ポリシーとして、機能性よりも実用性を重視していることがあげられる。MySQL Enterpriseなどの充実したサポートサービスが用意されている一方で、マニュアルなどドキュメント作成にも着実に取り組んでおり、エンタープライズシステムでの利用にも向いている。
実用性を重視する開発ポリシーゆえ、商用製品や他のオープンソースデータベースと比べて、これまでは機能面で劣る点もあった。しかし前述の通り、最新安定バージョンである5.0系では一通りの機能が実装されており、この欠点は解消されている。
3. ストレージエンジンが選択できること
MySQLの内部構造は「アプリケーションとの接続を管理する層」「SQLを処理する層」「データを処理する層」などに分かれていて、拡張性の高い構造になっている。このうち、データを処理する層である「ストレージエンジン」を、用途にあわせて利用者が選択することができる。
例えば、MySQLのストレージエンジンとして以下のようなものが用意されている。
- MyISAM(トランザクション非サポート)
- InnoDB(トランザクション機能サポート)
- MEMORY(オンメモリデータベース)
- NDB(クラスタ機能)
上記以外にも、サードパーティの企業からもストレージエンジンが提供されており、利用者はアプリケーションの特性に合わせて、様々なストレージエンジンを選択することができる。一般的には、参照のみのテーブルはMyISAMを、トランザクション管理を必要とするテーブルにはInnoDBを選択することが多い。
MySQLの有償サポートの利用を検討する
最後に、NRIが提供しているMySQLのサポートサービスを紹介する。NRIのMySQLサポートサービスは、以下のような特長がある。
- ハードウェアベンダーや、OSを問わない。Linuxはもちろん、WindowsやSolaris上のMySQLもサポートする。
- 古いバージョンのMySQLに対しても、サポートを提供可能。
- NRIのエンジニアが直接ソースコードレベルで対応し、質の高いサポートサービスを提供。
- 大手企業に対する導入実績が豊富。
※ 詳細はhttp://www.nri-aitd.com/openstandia/services/support_services.htmlを参照のこと。
(ご参考)
MySQLに関する情報
- MySQL株式会社のページ(日本語)
http://www-jp.mysql.com - 日本MySQLユーザー会
http://www.mysql.gr.jp/ - ウィキペディアによる情報
http://ja.wikipedia.org/wiki/MySQL - OSS iPediaによる情報
http://ossipedia.ipa.go.jp/kb/MySQL
MySQLのダウンロード及びインストール
以下の記事を参照。
今からはじめるMySQL(出展:ThinkIT、記事執筆:野村総合研究所オープンソースソリューションセンター 松野 洋希)
MySQLに関する質問
オープンソース・ユーザコミュニティサイト
http://openstandia.org/



