PostgreSQL 超入門 第2回(1)
NTT オープンソースソフトウェアセンタ 鈴木幸市
SUZUKI, Koichi
第2回 PostgreSQL って何?
2.1 PostgreSQL はフリーなオープンソースソフトウェア
PostgreSQL を一言で言えば
フリーなオープンソースのリレーショナルデータベース管理システム
ということができます。まず、「フリー」と「オープンソース」について説明します。(「リレーショナル」は第3部で説明します)。
まず、「フリー」であるということは、利用するにあたって対価を支払う必要がないということです。PostgreSQL はいろいろな方法で入手できますが、一般的な商用ソフトと違って、これを使うためにはお金は不要です。使う上で別の会社や人に助言を求めたり、PostgreSQL と他のソフトウェアを組み合わせたり、そういった仕事を依頼することもできますが、こういったサービスにはもちろんお金を支払わなければならないケースが殆どです。それでも、使うための「ライセンス料」は PostgreSQL では不要です。
次に「オープンソース」について説明します。どのようなソフトウェアでもソフトウェアの実行手順を一つ一つ人間が書いて作っていきます。このようにして書かれたプログラムの元を「ソースコード」といいます。見た目には数式の羅列のようなものです。これを「コンパイラ」という特殊なプログラムで処理して、コンピュータで動けるようにするのです。PostgreSQL の場合は、このソースコードが 80万行ほどになります。
「ソースコード」があると、プログラムはいくらでも複製したり修正したりできるので、商用ソフトウェアではこのソースコードは最も重要な秘密情報で、公開したりすることは滅多にありません。
PostgreSQL では、この大事な「ソースコード」を公開しているのです。ソースコードはいつでもネットワークから取ってきて、自分のコンピュータで実行できるようにしたり、欲しい機能を追加することができます。
このようなオープンソースには、Linux オペレーティングシステムをはじめ、Web サーバである Apache、アプリケーションサーバである Tomcat など、多くの仲間があります。
2.2 世界中の開発者が作る高品質なプログラム
データベース管理システムをはじめとするソフトウェアは、前に書いたように内部の動きを一つ一つ人間が書いているので、まったく誤りがないというわけにはいきません。書いた内容に間違いがないか、きちんと調べた後でないと使うことはできません。
写真 ● PostgreSQL開発者集合写真原図(JPEG形式/4.6MB)
PostgreSQL は、世界中の技術者が協力して開発を行っています。写真にあるように、開発メンバは 100名を超えています。
開発は完全に公開の場で行われています。誰でも、いつでも、開発メーリングリストで意見を述べたり、プログラムを提案したりすることができます。メーリングリストで議論できることだけが参加の資格です。そのため、自発的にボランティアで開発コミュニティに参加しているメンバもいますが、実際には仕事としてコミュニティに参加しているメンバも多いです。
すべての機能やプログラムのソースコードはこのような場で公開され、チェックされ、多くのメンバの手で実際に動かして試験がなされた後でなければ一般用途では公開されることはありません。そのために、PostgreSQL は大変品質の高いプログラムになっているのです。
PostgreSQL を使った業務システムを5年間運転して、PostgreSQL に起因する問題がまったく起こらなかったという報告(PDF 形式/676 KB)もあるほどです。