Database WatchDatabase Watch 2010年7月版

PostgreSQLがいきなり“9.0”に飛んだ理由

加山恵美
2010/7/20
映画「アイアンマン2」はご覧になりましたか? 映画ではオラクルCEOのラリー・エリソン氏が本人役で出ていて、主人公が「やあ、ラリー」とエリソン氏に声をかけるシーンがあるそうですよ。今月はPostgreSQL 9.0とオラクルのテクノロジー解説です。

PostgreSQL 9.0でNoSQLへと進むか?

 オープンソースの世界は動きが素早いです。商用データベース製品ですとバージョンアップは数年に1度という頻度ですが、オープンソースだとおよそ1年に1度、新バージョンを目にするということも珍しくありません。新しい技術やトレンドを素早く取り込もうとするコミュニティの熱意がそうさせるのかもしれませんね。

 さて、次に新しいバージョンを出そうとしているのはPostgreSQLです。前の8.4のリリースが2009年7月なので、まだ1年しか過ぎていません。早いです。2009年11月のPostgreSQL Conference 2009 Japanでは次バージョンを「8.5」と呼んでいましたが、一挙に「9.0」にすると決まったようです。

 6月19日に日本PostgreSQLユーザ会が開催した「JPUG 2010 年夏セミナー」では、PostgreSQLのコミッター(本体のソースコードを変更できる人)でもあるNTTオープンソフトウエアセンタの板垣貴裕氏が、PostgreSQL 9.0の特徴について解説しました。

 PostgreSQL 9.0は6月4日にベータ2をリリースし、正式版リリースは2010年夏を予定しています。9.0の目玉は2009年12月号でも予告した通り、なんといってもホットスタンバイとストリーミング・レプリケーションです。

【関連記事】
Database Watch 2009年12月版
「コミュニティ活動で人のリレーションを作ろう!」

http://www.atmarkit.co.jp/fdb/rensai/dbwatch2009/dbwatch200912_01.html

 ホットスタンバイは、アーカイブリカバリ中の参照処理を許可するもので、ストリーミングレプリケーションはトランザクションログをストリーム的に転送するものです。これまではスタンバイ側はリードもライトもできませんでしたが、9.0ならリードが可能になります。また更新の伝播がWAL(Write Ahead Logging)のファイル単位からレコード単位となるので、遅延を減らすことが期待できます。

図1 ウォームスタンバイとホットスタンバイ(JPUG 2010夏セミナー板垣氏資料より引用)

 レプリケーション機能については、今回の本体に実装されるストリーミング・レプリケーションのほかにSlony-Iやpgpool-IIなどがすでに出ています。それぞれ特徴があるので、何を重視するかにより使い分けることになりそうです。

 ほかにも9.0では排他制約やVACUUM FULLの高速化が特徴として挙げられます。排他制約は地理データ時間の範囲などで重複を避けるようにするものです。近年GPSや地図を活用したアプリケーション、またはスケジュールを調整するアプリケーションなどで役に立ちそうです。VACUUM FULLについては仕様が変わり高速化しましたが、ほとんどの場合は通常のVACUUMで十分だそうです。

 ところで「9.0」というバージョン番号が目を引きます。板垣氏によると、9.0にした大きな理由としては、「要望の多かったレプリケーション機能を取り入れたこと」の「記念」の意味があるようです。また開発者として「自信作」の証しでもあるとのこと。

 私感ですが、この9.0はこのデータベースの転換点になる可能性も秘めているのではないでしょうか。8.0ではPostgreSQLはWindows対応し、エンタープライズ環境での利用を想定し性能を飛躍的に伸ばしてきました。そして昨今ではクラウドやNoSQLが注目されています。そうした背景もあり、新しいステージへとステップアップしようという狙いがあるように感じます。

 それと少し関連して、JPUGのセミナーで板垣氏が「PostgreSQL is NoSQL!」と掲げる場面もありました。PostgreSQLがRDBMSからNoSQLへの転換か? とちょっとびっくり。

 しかし違います。板垣氏は注目を集めるためにちょっと誇張表現したそうです。真意としては「PostgreSQLは9.0からNoSQLへと変わる!」というわけではなく「NoSQL的な側面も持つようになる」くらいのニュアンスです。

 実際に9.0からはKVSなど非構造データにも対応します。SQLに限定せず、適材適所で異なるデータモデルやミドルウェアを使えるようになるとのこと。それに何よりもレプリケーション機能です。NoSQLの本当の良さとはスケールアウトできること。板垣氏は「そういう意味では、PostgreSQL 9.0 はレプリケーションによる参照分散でスケールアウトへの道の一歩目になるのではないかと思います」と話していました。

 PostgreSQL 9.xが今後どう進化を遂げるのか、楽しみになってきましたね。


1/2 次のページへ

Index
PostgreSQLがいきなり“9.0”に飛んだ理由
→ Page 1
PostgreSQL 9.0でNoSQLへと進むか?

Page 2
オラクル性能向上のためのヒントを2つ
NoSQLデータベースの本命となるか、Membase



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

注目のテーマ

Database Expert 記事ランキング

本日月間