写真1 NTTデータの藤塚氏
写真1 NTTデータの藤塚氏
[画像のクリックで拡大表示]
写真2 書籍の販売サイトを想定したテーブル群
写真2 書籍の販売サイトを想定したテーブル群
[画像のクリックで拡大表示]

 「これまでに欠けていた機能を数多く搭載してきたMySQL V5.0は,実測性能面では旧版とほぼ同等」。東京ビッグサイトで開催中の「NET&COM 2006」で,オープン・ソースのデータベース「MySQL」の性能テストの結果報告があった。

 報告者は,NTTデータ 基盤システム事業本部 オープンソース開発センタ 技術開発担当 シニアスペシャリストの藤塚勤也氏(写真1)。書籍を販売するECサイトに模した環境を実際に作り,多くのアクセスが集中した状況でRDBMSがどの程度のレスポンスで動作するかを検証した(写真2)。

 比較対象としたのは,MySQLの最新版としてV5.0.16,旧版としてV4.1.15。それぞれのバージョンで,ストレージ・エンジンに「InnoDB」と「MyISAM」を利用した場合の処理性能を計測した。

 1ユーザーが書籍の検索を100回繰り返す処理では,同時接続ユーザー数を100から100ずつ500まで増やしていきながら処理時間の変化を記録した。この結果,バージョン間では特に大きな差は見られず,ストレージ・エンジンの違いによる性能差も表れなかった。

 検索だけでなく書籍を購入する(データベースの更新)処理を加えたところ,やはりバージョン間では有意な違いは出なかった。その一方で,V5.0.16でもV4.1.15でも,InnoDBよりもMyISAMを利用した方が高い処理性能を示すという結果になった。MyISAMはトランザクションの概念がないので,処理性能では有利。この点が性能の実測にも表れた。

 バージョン間の差はないが,ストレージ・エンジンではMyISAMの方が速いという傾向は,SELECT,INSERT,UPDATEといったSQL文ごとのテストでも概ね共通していたという。藤塚氏は全体のまとめとして,「MySQLはV5のリリースにより,これまでPosgreSQLにはあったがMySQLにはなく,欠点と言われていた機能を数多くサポートした。一般には機能が増えれば性能に悪い影響が出ることが多いが,MySQLについては旧版の性能とほぼ同等」と締めくくった。

 なお,この報告で藤塚氏は最後に「おまけ」として,同一環境下におけるMySQLとPostgreSQL(バージョンは8.1.1)の比較結果も示した。このテストでは,PostgreSQLはMySQLと比べて2倍の処理時間がかかった。それでも「以前よりもその差は大きく縮まった」(藤塚氏)という。