PostgreSQL開発コア・メンバーのBruce Momjian氏
PostgreSQL開発コア・メンバーのBruce Momjian氏
[画像のクリックで拡大表示]
PostgreSQL 8.1はインデックスをマージできる
PostgreSQL 8.1はインデックスをマージできる
[画像のクリックで拡大表示]

 「PostgreSQLは今年で20周年を迎えた。バージョン8.1でPostgreSQLは企業向けの大規模DBとなった」---オープン・ソースRDBMS「PostgreSQL」の開発コア・メンバーの1人Bruce Momjian氏は2006年2月22日,SRA OSSが主催するセミナーの講演でPostgreSQLの現状と次期版への抱負を語った。

 元々,PostgreSQLの前身であるINGRESとPOSTGRESは大学で開発され使われてきた(California大学Berkeley校)。INGRES生誕は1977年。1986年にPOSTGRESとなった。1996年にSQL言語を実装した現在のPostgreSQLの歴史が始まる。「当時,オープンソースは企業から認知されておらず,その存在が不透明だった」(Bruce Momjian氏)。Bruce Momjian氏は,それまで大学という狭い範囲で使われてきたプロダクトを,より広範な場面で使えるよう,改善を施してきた。最初の2年間は「クラッシュしないための改善」(Bruce Momjian氏)に当て,次にSQL標準に準拠させた。1996年当初から,リリースには2カ月の準備期間と3カ月のβテストを実施してきた。

 「PostgreSQLで利用する機能を新たに開発する際には,開発者はまず商用RDBMSを調査する。それぞれのRDBMSが抱えている問題点を調べ上げ,洗い出した問題点を克服したプログラムを作っている」(Bruce Momjian氏)。例えば,柔軟性を追求したレプリケーション・ソフト「Slony-I」は,こうした経緯で生まれた。

 現在版のPostgreSQL 8.1では,より企業向けの機能と性能を追求しているという。例えば,(1)複数のインデックスを複合する機能を持つ。以前のリリースでは,クエリーは1つのインデックスしか利用していなかったが,8.1では複数のインデックスを使うよう改めた。これにより,例えばデータ・ウエアハウスを使う場合に都合が良い。(2)トランザクション保護機構である2フェーズ・コミットも実装した。SMP(対称型マルチプロセッシング)使用時の性能も向上させた。(3)アクセス権限管理機構を拡充し,従来のUSERS/GROUPSに対して,新たにUSERS/GROUPSを包含するROLES(役割)というラベルで管理できるようにした。

 「エンタープライズ(企業用途)向けの機能拡張と性能の向上が効を奏している。PostgreSQLの将来は明るい」と,Bruce Momjian氏は楽観する。日本のPostgreSQLの普及率は諸外国の2年先を行っているため,他の諸外国で2年後にどうなるかは日本に来れば分かるというわけだ。現在の日本においてPostgreSQLは好調なので,諸外国の将来は明るいと結論付けた。