いまや多くの企業システムでオープンソース・ソフトが活用されている。データベース管理システムをはじめ,アプリケーション・サーバー,全文検索エンジンなど,用途もさまざまだ。ここでは,オープンソースビジネス推進協議会(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からスタートしたのか?
提供開始年 | バージョン | 主な機能強化点 |
---|---|---|
1996 | 6.0 | PostgreSQL 6.0リリース(最初のバージョン) |
1997 | 6.2 | トリガ |
1998 | 6.3 | 副問合わせ,マルチバイト対応 |
1999 | 6.5 | 行ロック,MVCC |
2001 | 7.1 | WALログ,TOAST |
2002 | 7.3 | コンカレントVACUUM |
2005 | 8.0 | PITR,Windows対応 |
2006 | 8.2 | マルチプロセッサ最適化 |
2008 | 8.3 | HOT,全文検索,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をベースにした商用製品が販売されている。