記念すべき第1回は,PostgreSQLの今を知るために,改めて PostgreSQL について見つめなおします。
PostgreSQLとは
PostgreSQLは,オープンソースのリレーショナルデータベースです。最近では,さまざまなところで利用されるようになっていますので,ご存知の方も多いことと思います。商用データベースに匹敵する本格的な機能とオープンソースならではの利用の柔軟度が魅力のデータベースソフトウェアです。
PostgreSQLの開発
PostgreSQLは,PostgreSQL Global Development Groupというオープンソースコミュニティによって開発されています。商用のソフトウェアや一部のオープンソースのソフトウェアではベンダ主導の開発が行われていますが,様々な国の様々な背景を持った開発者が議論を公開しながら開発することで透明性の高い開発が行われています。開発の意思決定は多数いる開発者の中の数名のコアメンバーによって行われています。日本からも,企業や個人を含め開発者が参加しており,その成果として,古くは日本語対応に始まり,ODBCドライバ開発,Windows対応,再帰SQL開発(SQL機能拡張の1つ)などがあります。最近は日本での利用が増えたことから開発者も増加傾向にあります。
PostgreSQLのステークホルダー
PostgreSQLに関するステークホルダー(利害関係者)は,コミュニティ(開発や普及活動を行う),企業(関連するサービスを提供する),ユーザ(ソフトウェアを利用する)に分けられます。
図 PostgreSQLのステークホルダー

コミュニティは,企業やユーザから開発資金や開発そのものの提供を受けて開発活動を行いその成果を企業やユーザに提供しています。サポートなどの関連するサービスを提供する企業は,コミュニティから提供されるソフトウェアを利用して対価を得てユーザにサービスを提供しています。ユーザは,コミュニティから提供されるソフトウェアを利用,サービスは企業から受けています。
開発コミュニティは1つですが,サービスを提供する企業は複数,ユーザはそれ以上の数がいるという構造になっています。
一般に商用のソフトウェアのステークホルダは,企業←→ユーザ となります。ソフトウェアもサービスも提供元は1つの企業であり,企業とユーザの数の関係は 1:N となります。
図 商用ソフトウェアのステークホルダー

PostgreSQLは,1つのソフトウェアに対してサービスを提供する企業が複数あるという点からユーザの選択肢が広がること,ユーザがソフトウェアを提供される立場だけでなく,開発にも参画できる点などでソフトウェアの利用に対してユーザの自由度が高まると言えるでしょう。
PostgreSQLの利用状況
PostgreSQLは自由にダウンロード・複製して利用できるため正確な利用数は把握できませんが,さまざまなリサーチ結果などから見える傾向について紹介します。
まず,日本におけるRDBMSの市場全体から見てみましょう。RDBMSは,OS別に見るとUNIX,Windows,Linuxの順に利用台数が多く,近年の傾向としてUNIXが減少傾向,Linuxが上昇傾向にあります。
UNIXではOracle Databaseが,WindowsではMicrosoft SQL Serverがそれぞれ大きなシェアを持っています。Linuxでは,UNIX同様Oracle Databaseが高いシェアを持っていますが,UNIXほどではなく,オープンソースのRDBMSのシェアが比較的高い傾向にあります。
オープンソースのRDBMSでは,PostgreSQLとMySQLがほぼ同程度のシェアです。このことから,Linuxの利用拡大に伴いPostgreSQLの市場は拡大傾向にあると言えます。
また,PostgreSQLは2005年にWindowsプラットフォームに正式対応し,近年Windowsでの利用も増加しています。SRA OSS, Inc.日本支社が販売する PostgreSQLをベースにしたPowerGresでは,Windows向けライセンスがLinux向けよりも10倍近い販売実績があることからも,今後WindowsでのPostgreSQLの利用も拡大すると考えられます。
PostgreSQLの成長と改善の歴史
PostgreSQLは年に約1回のメジャーバージョンアップにより機能の追加を行っています。ここでは,ここ数年の大きな機能追加や改善を見ることで,PostgreSQLの進化を紹介します。下記は,PostgreSQLのバージョンとリリース年月,その際の主な変更点をまとめたものです。
7.4 | 2003年11月 | 自動バキューム(運),IPv6対応(機) |
8.0 | 2005年1月 | PITR(機)(頼),テーブルスペース(機)(性),Windows対応(機) |
8.1 | 2005年11月 | SMPにおける性能向上(性),2相コミット(機) |
8.2 | 2006年12月 | ウォームスタンバイ(頼),GIN索引(機),性能向上(性) |
8.3 | 2008年2月 | HOT(性),全文検索(機),JIS2004対応(機),XMLデータ型(機) |
8.4 | 2009年7月 | Window関数(S),再帰SQL(S),大規模対応(機),運用性向上(運) |
(運):運用性の向上,(機):機能追加,,(頼):信頼性向上の機能,(性):性能向上,(S):SQL拡張
7.xごろまでは,本格的RDBMSに向けて,不足している分の機能の実装が中心に行われていました。しかし,8.0以降ではより大規模なシステムで利用するために必要な機能の実装や,性能向上が中心になっています。また,最新の8.4では大きな機能ではないものの,運用性向上のための改善が多数入ってきており,「大規模でも運用しやすい」データベースへの道筋が垣間見えます。
次回予告
次回は,現在のPostgreSQLの機能詳細と,他のRDBMSと比較してみるPostgreSQLについて紹介します。お楽しみに。
なお,第2回はLet's Postgresに掲載されます。