オープンソースカンファレンス2007.DBの会場
[画像のクリックで拡大表示]

左から日本MySQLユーザ会の堤井泰志氏,Firebird日本ユーザー会の木村明治氏,日本PostgreSQLユーザ会の片岡裕生氏
[画像のクリックで拡大表示]

 「更新とJOINが多ければMySQL,シンプルなSELECT主体ならPostgreSQLが向いている。ストアド・プロシージャでシングル・コネクションならFirebirdは非常に速い」---6月23日に開催された「オープンソースカンファレンス2007.DB(OSC2007.DB)」で,各オープンソースDBのコミュニティのメンバーによる性能比較が披露され,従来の一般的なイメージとは異なる“意外な結果”が明らかにされた。

 オープンソースカンファレンスは,オープンソース関連コミュニティが主催するイベントで,OSC2007.DBはデータベース関連のコミュニティが集まったイベントである。性能比較セッションを担当したのは,日本MySQLユーザ会の堤井泰志氏,日本PostgreSQLユーザ会の片岡裕生氏,Firebird日本ユーザー会の木村明治氏。「あくまでボランティアによる性能比較であって,最速,最新マシンの上で実施したわけではない。数値を絶対視するのではなく,各DBの特徴や得手不得手を理解するために参考にしてほしい」(堤井氏)。

 まず単体テストとしてストアド・プロシージャを使ったテストを行った。マシンは動作周波数2.4GHzのPentium4,メモリーは1Gバイト,ハードディスクはIDE ATA100 7200rpm 60Gバイトと,現在としては決してハイエンドのマシンではない。データベースのバージョンはMySQLが5.0.6-beta(エンジンはInnoDB),PostgreSQLは8.1,Firebirdは2.0.1である。

 検証の結果,一般的に持たれているイメージと異なり,MySQLでのJOIN,PostgreSQLの検索は速いことが示された。またMySQLの場合,デフォルトのエンジンであるMyISAMに比べ,トランザクション機能を持つInnoDBの性能は必ずしも遅くないという,これも意外な結果が得られた。またFirebirdは,MySQLとPostgreSQLに比べ全般に高速だった。ただし,「MySQL,PostgreSQLは500コネクション以上のかなりの負荷に耐える」(堤井氏)。

 またこのほかにCやJava,PHPからアクセスしたテストの結果なども紹介した。

 測定結果を踏まえたデータベースの選択基準として,堤井氏らは「ストアド・プロシージャが使える状況で,シングル・コネクションならFirebird。更新がそれなりにあり,JOINが多ければMySQL,シンプルなSELECT主体ならPostgreSQLが向いている」と指摘した。


MySQLの性能測定結果。INSERT,SELECT,UPDATE,DELETEそれぞれに対し,テーブルサイズを変え3通りの測定を行った。縦軸は処理時間で,短いほど性能がよい
[画像のクリックで拡大表示]

PostgreSQLの性能測定結果。INSERT,SELECT,UPDATE,DELETEそれぞれに対し,テーブルサイズを変え3通りの測定を行った。縦軸は処理時間で,短いほど性能がよい
[画像のクリックで拡大表示]

Firebirdのの性能測定結果。INSERT,SELECT,UPDATE,DELETEそれぞれに対し,テーブルサイズをえた3通りの測定を行った。縦軸は処理時間で,短いほど性能がよい
[画像のクリックで拡大表示]

◎関連資料
オープンソースカンファレンス2007 .DB 公式サイト
PostgreSQL vs オープンソースRDBMS 性能徹底比較! - PostgreSQLの性能って本当はどうなの? - 日本PostgreSQLユーザ会 片岡裕生氏(PDF,日本PostgreSQLユーザ会 沖縄支部セミナー 2007年3月30日 講演資料)