Database Watch 8月版 Page 2/2

PostgreSQLとMySQLが急接近しているらしい


加山恵美
2005/8/11

PostgreSQLとMySQLで異文化交流

 7月29日に日本PostgreSQLユーザ会(JPUG)でPostgreSQLのしくみ分科会の勉強会がありました。2部構成となっており、前半が「PostgreSQLチューニング実習」、後半が「MySQLセミナー」でした。

 前半のチューニングはPostgreSQL 8.0をベースに、どのパラメータについてどのような点に気を付けてチューニングすべきか、1つ1つ解説と実証がありました。PostgreSQLがインストールされただけのデフォルトの状態ではロースペックなマシンでも稼働できるような設定になっているため、ハイスペックのマシンで稼働させるとリソースを有効に使えないそうです。リソースを有効活用するためにはスペックに適したパラメータに変更することが不可欠だとアドバイスがありました。今回はチューニングすべき項目として共有バッファ、トランザクションバッファ、ライタープロセス、テーブルスペース、チェックポイントセグメント数、ファイルシステムの調整などが取り上げられました。

 当日の実証で最も効果が高かったのはチェックポイントセグメント数の変更でした。チェックポイントとはトランザクションログが一定のセグメント数に達すると発生する処理で、チェックポイントセグメント数を増やせばその処理が発生する頻度が下がり、結果的にパフォーマンスを向上させることができます。変更のポイントはディスクの空き容量の範囲で最大にするのが効果的だそうです。ただし、大きくし過ぎるとシステムがダウンしたときのリスクが大きくなることも気を付けなくてはなりません。この値を調整することはPostgreSQLのパフォーマンスチューニングでは常とう手段であり、実証でもベンチマーク結果にしておよそ4倍のパフォーマンス向上が見られました。

 現実的には環境や利用状況、何を優先するかに応じて対策も結果も変化してきます。実証ではチューニングによりパフォーマンスが落ちてしまう現象も起き、参加者が苦笑いする場面も見られました。パラメータを変更するにしても組み合わせにより効果を高めるものも、逆に下げてしまうものもあると教訓を残しました。話を聞きながらパフォーマンスチューニングにはデータベースが処理する仕組みやリソースの使い方を熟知することが確実な道だとあらためて感じました。JPUGでは8月に夏合宿があり、パフォーマンスチューニング大会も実施されるようです。

ライバルを知ることは相互理解の第一歩

 後半のMySQL解説は別のデータベースの仕組みを知ることであらためてPostgreSQLの理解を深めようということで、日本MySQLユーザ会(MyNA)から専門家を招いて解説を聞くことになりました。JPUGの勉強会でMySQLの概要を解説をするのは初めてだそうです。

 そのMySQLの概要では、まずは歴史、特徴、現状のバージョンと将来の展望など簡単なおさらいから始まりました。そこからさらに深くMySQLの仕組みへと解説が進みました。「MySQLではvacuumはありません」など随所で違いを比較しました。特に参加者が関心を示したのはロック競合時の挙動の違いでした。参加者は挙動に差が出るケースを見て驚きつつも「でもそれもありだよね」と新鮮な発見があったようです。興味深いのはその違いを探ると、例えばMySQL側では「テーブルロックはしない」など設計者の理念にたどりつくことです。今回の試みはPostgreSQL側、MySQL側双方にとって互いと自分を理解するいいきっかけになったようです。

 ところでパフォーマンスチューニングといえば、MySQLの本家サイトでもオンラインWebセミナーで5つのヒントが提案されています。必要事項を記入すれば内容をダウンロードできるようになっています。またJPUGの勉強会と同日の7月29日にはMySQLの次期バージョンの最新ベータ版「5.0.10」がリリースされました。勉強会でMySQLを解説したMyNAの人によると「いまからMySQLを検討するなら現行バージョンの4.1よりも次期の5.0がお薦め」だそうです。その理由はいつかまた詳しく追ってみたいと思います。

 ではまた来月、お会いしましょう。

2/2  

 Index
連載 Database Watch 8月版
PostgreSQLとMySQLが急接近しているらしい
  Page 1
・商用RDBMS、次期バージョンをめぐる競争が熱い“夏の陣”
・SQL Server 2005は高可用性で勝負!
・得意のベンチマークで迎え撃つオラクル
Page 2
・PostgreSQLとMySQLで異文化交流
・ライバルを知ることは相互理解の第一歩


Database Watch



Database Expert フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Database Expert 記事ランキング

本日月間