オープンソースカンファレンス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が向いている」と指摘した。
◎関連資料
◆オープンソースカンファレンス2007 .DB 公式サイト
◆PostgreSQL vs オープンソースRDBMS 性能徹底比較! - PostgreSQLの性能って本当はどうなの? - 日本PostgreSQLユーザ会 片岡裕生氏(PDF,日本PostgreSQLユーザ会 沖縄支部セミナー 2007年3月30日 講演資料)