Database WatchDatabase Watch 2012年3月版

待望のPostgreSQL 9.2は大幅性能アップするのか?

加山恵美
2012/3/26
PostgreSQL Conferenceではコミッターから次期バージョン9.2の紹介がありました。従来のボトルネックを解消し、性能の大きな飛躍が期待できそうです。また3月には、IBMデータ分析ソフトウェアの2つの新製品が発表になりました。

PostgreSQL 9.2では大幅な性能アップが実現するか

 2月24日、日本PostgreSQLユーザー会(JPUG)が毎年恒例の「PostgreSQL Conference」を開催しました。JPUGのサイトには講演資料の一部が公開されています。基調講演では、EnterpriseDB Senior Database ArchitectのRobert Haas(ロバート・ハース)氏(写真)が次期バージョンとなるPostgreSQL 9.2を紹介し、「ここから新たな展望が開けてきます」と話していました。なお、ハース氏はPostgreSQLのコミッターでもあります。

 9.2のポイントを挙げるとすると、4つ。「スケーラビリティ」「Index-onlyスキャン」「消費電力削減」「新しいバックアップとレプリカについてのオプション」です。

 なかでもスケーラビリティは、9.2の大きな改善点と言えそうです。現行の9.1では、ロックコンテンションが性能のボトルネックなってしまうことが課題でした。9.2ではロックの競合回避や、頻繁にアクセスされるために時間がかかるデータをほかの配列に移動するなどして、性能改善を図ります。

 PostgreSQLのロックについて補足しておきます。PostgreSQLではMVCC(MultiVersion Concurrency Control)方式を採用しています(ちなみにOracle DatabaseもMVCCですが、実装方法がやや異なります)。これはマルチバージョニング方式などとも呼ばれ、世代管理が行われるのが特徴です。

 実際に9.1では、8コア程度でロックコンテンションによる性能の壁が生じていたそうですが、ハース氏が32コアのサーバを用いて9.2ベータ版と9.1の比較検証をしたところ、大きな性能改善が見られたと発表していました。

 余談ですが、講演後に聴衆から「64コアで検証した結果はないのですか?」と質問がありました。ハース氏が「64コアのサーバがあればやります」と冗談混じりに鎌を掛けたところ、質問主が「それなら当方が提供します。グローバルにアクセスできるサーバのIDとパスワードを提供しますから、検証してくれますか?」と持ちかけました。それに対するハース氏の回答は、満身の笑みで「もちろん!」でした。質問タイムで「交渉成立!」の瞬間でした。この機敏さ、オープンさがオープンソースらしいです。

 閑話休題。次にIndex-onlyスキャンです。これも性能改善に関係します。9.1以前では全てのインデックスへのアクセスは、テーブルへもアクセスする必要がありました。9.2ではテーブルへのアクセスをスキップできるようにします。言い換えると、インデックスのみ必要とするクエリなら、読み取るのはインデックスのみとできるようにすることです。なお、このIndex-onlyスキャンは(PostgreSQLに8.4からある)「visibility map」を用いるため、これの安全性確保が可能となったことで実現となりました。

 なお、このIndex-onlyスキャンに相当するものは、MySQLなどほかのデータベースではすでに実装したものもあります。今回のPostgreSQL Conferenceの実行委員会長を務めた石井達夫氏(SRA OSS 日本支社長:写真)は「ほかで利用可能な機能だったので、今回機能が実装されるようになって喜ぶユーザーは多いと思います」と話していました。

 それから消費電力について。PostgreSQLではさまざまなプロセスが一定時間起きに「wake-ups」(スリープ状態から戻る)するところ、9.2ではこの「目覚め」を削減して電力消費削減につなげるそうです。データセンタを中心に高い要望があるのだとか。

 最後はバックアップとレプリケーションの新しいオプションです。9.0から登場したストリーミング・レプリケーションに続き、9.2からはカスケーディング・レプリケーションが可能になります。これでレプリケーションのトポロジーが広がります。また同期レプリケーションで「Remote Write」というモードも追加されるとのことです。

 ところで気になるのは、リリース時期ですよね。ハース氏は「未定」としながらも、希望的観測として「9.1が出たのが昨年の秋だから、同じくらいの時期になるのではないか」と話していました。

 基調講演後、ハース氏はかねてより希望していたこともあり、石井氏はじめ日本人関係者と築地にお寿司を食べに行ったそうです。石井氏によると、ハース氏はお寿司を食べながらもPostgreSQLのスケーラビリティについて「共有メモリのバッファ管理など、まだ改善の余地がある」と熱く語っていたのだとか。PostgreSQLの性能はまだまだ進化しそうです。

企業が安心してオープンソースソフトウェアを使えるように

 ハース氏と一緒にお寿司を食べた仲間をもう一人紹介します。ハース氏と同じくEnterpriseDBの日本法人社長であり、日本/韓国/中国総代表も務めている藤田祐治氏(写真)です。築地のお寿司屋さんは藤田氏が選んだそうです。

 EnterpriseDBは、最近クラウドでPostgreSQLを提供する「Postgres Plus Cloud Database」を提供開始しました。いわゆる「DBSaas」、Windows AzureやAmazonクラウドのように、データベースをクラウドで利用できるようにしたサービスの1つです。

 もともとEnterpriseDBはPostgreSQLに特化した企業で、PostgreSQLを企業で利用できるようにするための製品やサービスを提供しています。昨年4月に日本法人を開設しました。

 同社はコミュニティ支援の一環として、コミュニティで活躍するエンジニアを社員として雇うこともしています。オープンソースプロジェクトは有志の貢献によって成り立っているので、当人の能力を生かせる雇用先を提供することでコミュニティ活動を下支えすることができるからです。

 オープンソースソフトウェアをビジネスにすることについて藤田氏は「水と同じだと考えています。きれいな湧き水も水ですし、清潔ではない地域を流れる川の水も水です。しかし人間が安心して飲めるようにするには、誰かが品質を検査、管理し、ボトルに詰めて流通させなくてはなりません。これと同じように、オープンソースのソフトウェアを実際に企業で使えるか検証し、安心して使ってもらえるようにするのが私たちの仕事です」と話していました。

 例えば、同社が提供している「Postgres Plus Advanced Server」。オープンソースで提供されているPostgreSQLにエンタープライズで利用するための機能が加わっています。PostgreSQLの企業向け増強版というところです。

 藤田氏はRedHat日本法人会長も経験したことがあり、オープンソースには深い造詣があります。オープンソースの良さについてこう話していました。「オープンソースはコードがオープンであり、機能がモジュール化され、(ベンダと比較して)早いサイクルで改善版を提供できます。Linuxは当初企業から敬遠されていましたが、次第に主要なシステムに使われる事例が増えてきました。PostgreSQLもそろそろ企業向けデータベースとしてテイクオフする時期を迎えつつあるのではないでしょうか」


1/2 次のページへ

Index
待望のPostgreSQL 9.2は大幅性能アップするのか?
→ Page 1
PostgreSQL 9.2では大幅な性能アップが実現するか
企業が安心してオープンソースソフトウェアを使えるように

Page 2
IBM Cognosファミリーに2製品追加
今後もイベントが続々



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

注目のテーマ

Database Expert 記事ランキング

本日月間