いまや多くの企業システムでオープンソース・ソフトが活用されている。データベース管理システムをはじめ,アプリケーション・サーバー,全文検索エンジンなど,用途もさまざまだ。ここでは,オープンソースビジネス推進協議会(OBCI)のメンバー各社が,各オープンソース・ソフトの用途から導入方法,実践的な利用法までを紹介する。

 最初に取り上げるのは,データベース管理システムのPostgreSQL(http://www.postgresql.org)である。3回に分けて,PostgreSQLの概要から,運用,パフォーマンス・チューニング,クラスタリングまで,PostgreSQLを活用する上で必要な情報をお届けする。

 第1回目の今回は,PostgreSQLの特徴,他のDBMSとの比較などについて解説する。

PostgreSQLとは

 PostgreSQL(「ポストグレス」あるいは「ポストグレスキューエル」と読む)は,米国カリフォルニア大学で開発されたデータベース・ソフトPostgresをベースに,世界中のボランティアが改良を重ねたオープンソース・データベースだ。データベースに要求される基本的な機能はすべて備えており,ほとんどの用途で性能面でも商用データベースと比べて見劣りしない。また,LinuxやWindowsをはじめ,多くのプラットフォームで稼働するため,OSを選ばないのも特徴である。

PostgreSQLの歴史

 最初のバージョンは1996年にリリースされた6.0で,リリースされてから12年以上たつことになる(表1)。ところで,なぜPostgreSQLのバージョン番号は1.0ではなくて,6.0からスタートしたのか?

表1●PostgreSQLの主なバージョンとその機能
提供開始年バージョン主な機能強化点
19966.0PostgreSQL 6.0リリース(最初のバージョン)
19976.2トリガ
19986.3副問合わせ,マルチバイト対応
19996.5行ロック,MVCC
20017.1WALログ,TOAST
20027.3コンカレントVACUUM
20058.0PITR,Windows対応
20068.2マルチプロセッサ最適化
20088.3HOT,全文検索,autovacuum

 PostgreSQLの前身であるPostgresは,元々研究理論を実証するために開発されたソフトで,研究プロジェクトの終了と共に役目を終え,そのときのバージョン番号は4だった。その後,Postgresプロジェクトに参加していた学生が,Postgresを実用的に改良したPostgres95を開発した。このプロジェクトは短命だったが,現在のPostgreSQL開発中心メンバーがこのプロジェクトを引き継ぎ,PostgreSQLをスタートさせた。

 Postgres95をPostgresのバージョン5と考えると,PostgreSQLは6に当たるわけだ。つまり,PostgreSQLは,自らをPostgresの後継者と位置付けていることになる。実際,Postgresの先進的な機能,例えばオブジェクト指向的な機能,遺伝的アルゴリズムを使った問合わせオプティマイザなどは,脈々とPostgreSQLに引き継がれている。

自由度の高いライセンス

 オープンソース・ソフトウエア(OSS)のライセンスは,単にそのソフトを利用する分にはあまり意識する必要はないが,自社ソフトに組み込む場合などにはきちんと確認する必要がある。例えば,Linuxでも採用されているGPLというライセンスでは,そのOSSソフトを自社ソフトの一部として流用してビジネスするなら,自社ソフトの方もソースの公開が必要になる。

 一方PostgreSQLのライセンスはそのような制約がなく,著作権をきちんと尊重する限りにおいて,ソース・コードを公開する必要がない。実際,OBCIの正会員企業であるSRA OSS, Inc.日本支社のPowerGresなど,PostgreSQLをベースにした商用製品が販売されている。