EnterpriseZine(エンタープライズジン)

EnterpriseZine(エンタープライズジン)

テーマ別に探す

32コアまでならリニアにスケール! 今度のPostgreSQL 9.2はかなりスゴイ!?

edited by DB Online   2012/04/02 00:00

「PostgreSQL 9.2ではパフォーマンスとスケーラビリティがかつてないほど大幅に向上する。より多くの環境でPostgreSQLが動作することになるだろう。データベースの世界に新たなホライズンを拓く存在、それがPostgreSQL 9.2だ」 - PostgreSQLプロジェクトのコミッターを務めるHaas氏は、PostgreSQLを商用サポートする米EnterpriseDBのデータベースアーキテクトでもある。開発が佳境に入りつつあるPostgreSQL 9.2の状況を最も的確に知りうる人物のひとりだ。本稿では2月24日、東京・品川で開催された「PostgreSQL Conference 2012 Tokyo」(主催: 日本PostgreSQLユーザ会)のHaas氏による基調講演「An Overview of PostgreSQL 9.2」の内容をもとに、9月に正式リリースと言われているPostgreSQL 9.2の新機能に迫ってみたい。

PostgreSQL 9.2の新機能

Haas氏
PostgreSQLプロジェクトの
コミッターを務めるHaas氏

 PostgreSQL 9.2でいくつも予定されている新機能のうち、最も重要なものとしては以下の4つが挙げられる。

 ・スケーラビリティ向上
 ・Index-Only Scan
 ・消費電力の低減
 ・新しいバックアップ/レプリケーションのオプション

 まずスケーラビリティ向上について。これは現在のマルチコアCPUの台頭にあわせた機能強化といえる。「論理的に言えば、利用できるCPU(コア数)が増えれば1秒あたりで処理できるのトランザクションはリニアに増えるはず」とHaas氏。実はPostgreSQL 9.1まではロックコンテンションが原因で、コンフリクトが多く発生するという問題を抱えており、8コアまでしかスケールしなかった。「場合によっては8コア以下でも一部のワークロードが限定されることが多かった」(Haas氏)

 PostgreSQL 9.2ではこの問題が大きく改善され、書き込みでも15%以上の性能向上を実現、読み込みでは32コアまではリニアに伸ばしていけることが確認できている。もっとも"32コアまで"としているのは「僕のテスト環境では32コアまでしか試せなかったから。もし誰かが64コアのマシンを提供してくれたら、正式リリースまでに64コア対応できるかも(笑)」(Haas氏)とのこと。

 ロックコンテンションは9.1では大きなボトルネックだったとHaas氏。9.2ではメインのロック管理をバイパスする"Fast path"ロックを取り入れている。これはバーチャルトランザクションロックと"weak"リレーションロックはめったにコンフリクトを起こさないことを利用している。

赤いラインが開発中のPosstgreSQL 9.2、青が現バージョンの9.1の読み込みのスケーラビリティをそれぞれ示している。9.2では、32コアまではコンカレントでもリニアに伸びている
赤いラインが開発中のPosstgreSQL 9.2、青が現バージョンの9.1の読み込みのスケーラビリティをそれぞれ示している。9.2では、32コアまではコンカレントでもリニアに伸びている

 また、スナップショットの取得に時間がかかっていた問題については、キャッシュラインのパスを減らしてクリティカルパスの時間を短くすることで対応している。WAL(Write Ahead Log)まわりでも改善が見られており、WALフラッシュのパフォーマンスが秒間トランザクションで5‐10倍の高速化を実現しているほか、9.1では一度しかできなかったWALのインサーションが、9.2では複数のバックエンドが並行してWALストリームにインサーションできる機能が追加される予定だという(現在開発中とのこと)。


著者プロフィール

  • 五味明子(ゴミ アキコ)

    IT系出版社で編集者としてキャリアを積んだのち、2011年からフリーランスライターとして活動中。フィールドワークはオープンソース、クラウドコンピューティング、データアナリティクスなどエンタープライズITが中心で海外カンファレンスの取材が多い。 Twitter(@g3akk)や自身のブログでITニュースを日々発信中。北海道札幌市出身 / 東京都立大学経済学部卒

バックナンバー

連載:DB Press

もっと読む

All contents copyright © 2007-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5