「MySQL,PostgreSQLとFirebirdの性能をユーザー会メンバーが徹底比較,判明した"意外な結果”」---OSC2007.DBより
「更新と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が向いている」と指摘した。
◎関連資料 |