MySQL5.5 - 性能改善と可用性向上
MySQLのイノベーションを加速するオラクル社
MySQLは世界で最も普及しているオープンソースデータベースです。MySQLは1995年にスウェーデンの旧MySQL社オープンソースとして公開し、2008年のサン・マイクロシステムズによる買収、また2010年のオラクルによる買収を通じて、現在はオラクル社のオープンソース製品となっています。
オラクルによるサンの買収発表当初は、MySQLの将来に対する懸念もありましたが、現在オラクルはMySQL製品に対する投資を拡大し、MySQLのイノベーションを推進しています。ビジネスモデルは以前から大きな変更は無く、MySQLサーバなど中心的なソフトウェアはGPLでライセンスされたオープンソース製品としての提供と機能改善を続け、運用管理ツールなどの付加機能、サポートサービスおよび組み込み向け商用ライセンスなどを有償商品として提供する形態となっています。
2010年1月のサン買収完了以降、MySQL製品はこれまでよりもはるかに高い頻度でリリースを続けています。今後の製品リリースに向けた先行リリース版DMR(Development Milestone Release)や実験的な機能を搭載したLab版など、新しい機能を早いうちから試せるように、ソースコードを含めて公開しています。
図1:2010年以降のMySQL製品リリース(クリックで拡大) |
2010年末には、オラクル製品としては初となるMySQLサーバのメジャーバージョンがリリースされました。MySQL 5.5は、大幅な性能向上や準同期レプリケーション、運用性の向上などの改善点を含んでいます。それ以上にMySQLユーザーやビジネスで利用されるユーザーにとって重要な点は、オラクルの製品開発および品質管理をMySQLの開発に取り入れたことによる製品品質の向上と安定した製品リリースサイクルです。残念ながら旧MySQL社創業者がMySQLの開発をコントロールしていた時代には、メジャーリリースからしばらくは本番運用に耐える品質でなかったことや、約束したはずのメジャーバージョンのリリースが予定時期から大幅に遅れることもありました。
MySQLにとって最も重要となるトランザクション対応エンジンであるInnoDBは、既に2005年の時点で開発チームがオラクルに買収されており、サンの買収を通じて初めてMySQLとInnoDBの開発チームが一つの組織となりました。これにより企業の垣根が取り払われ、従来以上のコミュニケーションの円滑化と、チームの融合する開発スピードの加速が進みました。
MySQL 5.5の機能改善ポイント概要
MySQL 5.5で改良された主なポイントは以下の通りです。
- InnoDBがデフォルトのストレージエンジンに
- 大幅な性能改善
- Windows対応の強化
- 準同期レプリケーションを含む可用性の向上
- 4バイトのUTF-8のサポート
他のRDBMSには無いMySQL独自の機能としてストレージエンジンがあります。ストレージエンジンは、データベースのテーブルごとに機能や特徴を変えることができます。例えば多くのストレージエンジンはデータをディスク上に置きますが、MEMORYストレージエンジンを使用したテーブルだけはインメモリデータベースとなります。
MySQL 5.5ではデフォルトのストレージエンジンがこれまでのMyISAMからトランザクションをサポートしたInnoDBに変更となりました。このInnoDBは従来のACID準拠トランザクション、MVCC、外部キー、クラッシュリカバリという機能に加え、新たに高速なインデックス作成やデータ圧縮の機能が追加となり、さらに全般的な性能も向上しています。
4バイトのUTF-8がサポートされたことで、日本語の第3・第4水準漢字の一部もカバーされることになりました。キャラクタセットutf8は従来通り3バイトで表現可能な、UNICODEの基本多言語面のみのサポートですが、新しいutf8mb4が追加面を含めた全てのUNICODEをカバーするキャラクタセットです。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- オラクル、「MySQL 5.7 Development Milestone Release(DMR)」をリリース
- MySQL5.6- さらなる機能追加とNoSQL
- MySQL 5.6での機能強化点(その3)- 人気のレプリケーションが更に機能強化
- PostgreSQLクラスタの動向
- MySQL Connect 2013でも発表されたMySQLの最新リリースと、関連ツールの基礎知識
- MySQLのリアルタイムモニタリングに「innotop」
- ここが新しい!MySQL 5.1
- 高可用性とデータ・シャーディングを実現できるMySQL Fabricとは?
- MySQL 5.6での機能強化点(その1)- パフォーマンスと使い勝手を大きく向上
- MySQL Cluster:NoSQL+SQL、NoSQLも使える高可用性インメモリRDBMS