トップ  »  コンピュータガイド  »  データベース  »  PostgreSQL  »  PostgreSQLの特徴

PostgreSQLの特徴

BSDライセンスに基づく無償提供

PostgreSQLはBSDライセンスに基づくオープンソースのデータベースです。
つまり、著作権表示などの条件を守れば、個人・法人なども問わず、商用・非商用の別も無く、利用する事も、変更や他のソフトへの組み込み、配布なども全て無償で行えるのです。
これは、データベースを学ぶ上でも、ビジネスに活用する上でも非常にありがたい事です。

標準SQLへの準拠

PostgreSQLはSQL92の"Entry"レベル、及びSQL:1999(SQL99)のコア機能の多くに準拠しています。
また、標準SQLの最新版であるSQL:2003においても、その主要な機能の殆どをサポートしており、今後のリリースで更に適合性が高められていく事と思います。
主だった機能としては「複合問い合わせ」、「外部キー」、「トリガ」、「ビュー」、「トランザクションの一貫性(完全性)」、「多版同時実行制御(MVCC)」等が挙げられます。
これらは他の商用データベースを含む多くのデータベースとSQLレベルでの互換性が高いという事を意味します。
つまり、基本的なSQLの知識や標準SQL仕様に準拠したその他のデータベースでの経験があれば導入や運用、開発といった場面であまり戸惑う事が無いという事になります。

高い拡張性

データ型、関数、演算子、集約関数、インデックスメソッド、手続き言語をユーザが定義する事が出来ます。
これらによって、より複雑な処理の実行や効率的な処理の実行を可能にし、柔軟で拡張性の高いデータベース管理や開発を可能にします。
また、これらはデータベース単位のオブジェクトとして作成する事になりますので特定のデータベースに対して定義する事も出来ますし、テンプレートデータベース(template1)内で作成する事によってその後に作成されるデータベース全てに複製され、共通化する事も出来ます。

豊富なプログラムインタフェースのサポート

C、C++、ODBC、Java(JDBC)、TCL/TK、PHP、Perl、Pythonなど豊富なAPIをサポートしているのでPostgreSQLを利用したシステム開発においてインターフェースの選択の幅が広く、それぞの用途やニーズに合わせたプログラム開発が可能です。

多版型同時実行制御(Multiversion Concurrency Control)

PostgreSQLはマルチユーザ環境における同時実行制御として"多版型同時実行制御(MVCC)"を実装しています。
他のデータベースシステムの多くが実装するロック機構では、ロックされたデータへの全ての操作を待たせる事になります。
これに対し、"多版型同時実行制御(MVCC)"では更新や削除の実行の為にロックされているデータに対しての問い合わせ(読み込み)の際に各トランザクションは実体ではなく、その時点でのスナップショットを参照するので、読み込みを制御されずに済むのです。
また、この逆に読み込みも書き込みを絶対に制御しません。
これによってユーザは他の誰かがロックしたテーブルや行の参照の際に、開放されるまで待たされ続ける事がなくなります。

SQL手続き言語

PostgreSQLではOracleのPL/SQLライクな"PL/pgSQL"というSQL手続き言語が利用できます。
OracleのPL/SQLでの開発経験があれば殆ど戸惑うことなく利用できるようです。

トラックバック(0)

トラックバックURL: http://www.ezms.net/mt/mt-tb.cgi/13