リレーショナルデータベース・カタログ
山田祥寛(http://www.wings.msn.to/)
2004/6/15
オープンソースRDBMSのデファクトスタンダード PostgreSQL 7.4.2 |
|
■製品概要
PostgreSQLは「BSDライセンス」に基づいて配布されており、商用/非商用にかかわらず無償で利用できるオープンソースRDBMSだ。オープンソースといえども、RDBMSとしてOracleやDB2にほぼ匹敵する(あるいはそれ以上の)機能を実装しているのも特徴だ。
同じオープンソース・ソフトウェアということでMySQLと比較されることが多いPostgreSQLであるが、サブクエリーやストアドプロシージャ、トリガ、ビュー、外部キーによる参照整合など、商用データベースがサポートする主要な機能のほとんどを備えているという面では、MySQLを大きく引き離しているといえるだろう(注)。
注:ただし、MySQLが必ずしもRDBMSとして劣っているというわけではない。未実装機能の多くは、高速性を保つために意図的に切り離されたものである。パフォーマンス面ではMySQLがPostgreSQLに勝るし、将来的にはサブクエリーなどの未実装機能もMySQLに実装される予定だ。 |
■注目ポイント
●商用データベースとの差異
PostgreSQLを「商用データベースにも匹敵する」と紹介したが、もちろん運用・保守、操作性といった点では、必ずしも商用データベースと同等とは言い切れない。
PostgreSQL最大の欠点としてよく挙げられるのが、頻繁な更新によってデータサイズが肥大化しやすい点だ。これはPostgreSQLが、削除済みのレコードに対して削除フラグを立てるだけで、物理的に削除しないことに起因する。これを解決するために、PostgreSQLでは定期的にvacuumコマンドを実行し、削除フラグの立った領域を物理的に削除(圧縮)する必要がある。vacuum処理中はデータベースへのアクセスができなくなり、これが「PostgreSQLは常時稼働を求められるシステムには適さない」といわれた理由であった。
バージョン7.2からはvacuumコマンドの仕様が変更され、再利用可能な領域にフラグを立てる方式となった。このため、vacuum処理中でもSELECT、INSERT、UPDATE、DELETEなど、一般的なデータベースアクセス(テーブルスキーマの変更は除く)は問題なく実行できるようになった。
また、商用RDBMSでは必須とされるポイント・イン・タイム・リカバリ(PITR)に対応しておらず、運用中に何らかの障害が発生した場合、「過去の任意の時点までの復帰」を実行できない。今後改善予定の機能もあり、これをもってPostgreSQLがエンタープライズ系のシステムには不向きであると断じるのはいささか早計だ。だが、少なくともこうした制限を知っておくことは重要だろう。
●充実してきた管理ツール
オープンソースというと、とかく問題になるのが管理・開発ツールでもある。特に運用の局面になった場合、必ずしも運用担当者がデータベースに精通しているとは限らない。専用の管理ツールは、運用コストを抑制する意味でも欠かせない要素の1つだ。オープンソース・ソフトウェアを利用することでイニシャルコストは抑えたが、その分運用コストが増大したのでは、まったく意味がない。
最近では、PostgreSQL用のツールが無償で提供されるようになってきており、開発・運用効率を向上させることができる。代表的なツールの1つとして、pgAdminIII(http://www.pgadmin.org/)が挙げられる。
pgAdminは、データベースの起動・終了など、データベースそのものに対する管理機能こそサポートしていないものの、テーブル、ビュー、トリガ、インデックスなど、SQL命令で実現可能なほぼすべての操作をGUIで実現できる。各操作に対応するSQL命令が生のSQL命令として表示されるのも、pgAdminの面白いところだろう。初学者にとってはSQL命令のちょっとした勉強にもなるし、開発の局面でも、複雑なSQL命令をコーディングしたい場合などに、pgAdminが生成するSQL命令は大いに参考になるはずだ。
また、PHPのインストールが必要になるが、WebベースでPostgreSQLを操作できるphpPgAdmin(http://phppgadmin.sourceforge.net/)もお勧めだ。現在のバージョン(2004年6月時点で3.3.1)はアーカイブを展開するだけで導入できるため、手軽に利用できるのがうれしい。
画面 phpPgAdminの画面(画像をクリックすると拡大表示します) |
以上、PostgreSQLが商用データベースに勝るとも劣らない機能を提供する高機能なRDBMSであることがお分かりいただけたと思う。また、富士通やアイ・ティ・フロンティアからPostgreSQLのエンタープライズ版である「PowerGres Plus」が提供されている。システムの立ち上げではイニシャルコストを抑制できるPostgreSQLを採用しておいて、将来的にシステム規模が大きくなったらPowerGres Plusに置き換えるという選択肢も有効なのではないだろうか。
5/9
|
|
||||||||||||||||||
|
Linux Square全記事インデックス |
Linux Squareフォーラム 製品情報・レビュー関連記事 |
特集:2007年、Linuxディストリビューションの歩みを振り返る 商用、非商用ともにメジャーバージョンアップが相次いだ2007年。主なディストリビューションを取り上げ、アップデート内容を紹介します |
|
プロダクトレビュー[Ubuntu 7.10 日本語ローカライズド Desktop CD] 海外のみならず日本国内でも人気急上昇中のUbuntu。優れたインターフェイスを備えるとともに、豊富な機能がコンパクトにパッケージされている |
|
特集:業務で使うデスクトップLinux カタログ 定型業務さえこなせればよいという部門も多い企業環境は、コンシューマ市場以上にLinuxへの移行が容易ともいえる。そこで、6つのLinuxディストリビューションを紹介する |
|
特集:Linuxで動くリレーショナルデータベース・カタログ データベースサーバのOSとしてLinuxを採用するケースが増えている。Linuxで動作する7つの主なリレーショナルデータベースを紹介する。製品導入の際の参考にしてほしい |
|
特集:Windowsで動くXサーバ・カタログ やや特殊な用途に用いられてきたXサーバだが、活用しだいでは普通の管理用途にも有用だ。そこで、Windowsで動作する6本のXサーバを紹介する。選択の参考にしてほしい |
|
特集:Linuxで動くJavaアプリケーションサーバ・カタログ アプリケーションサーバは、いま最も開発競争が激しいジャンルの1つだ。その中から、Linuxに対応する5つの商用製品を紹介する。製品導入の際の参考にしてほしい |
|
特集:Linuxで動くWebグループウェア・カタログ Linuxを業務用サーバに採用するケースも増えている。そこで、Linuxをサーバとして利用するWebベースのグループウェアを紹介しよう |
|
|
- 【 pidof 】コマンド――コマンド名からプロセスIDを探す (2017/7/27)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、コマンド名からプロセスIDを探す「pidof」コマンドです。 - Linuxの「ジョブコントロール」をマスターしよう (2017/7/21)
今回は、コマンドライン環境でのジョブコントロールを試してみましょう。X環境を持たないサーバ管理やリモート接続時に役立つ操作です - 【 pidstat 】コマンド――プロセスのリソース使用量を表示する (2017/7/21)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、プロセスごとのCPUの使用率やI/Oデバイスの使用状況を表示する「pidstat」コマンドです。 - 【 iostat 】コマンド――I/Oデバイスの使用状況を表示する (2017/7/20)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、I/Oデバイスの使用状況を表示する「iostat」コマンドです。
|
|