PostgreSQLの今
Postgres Plusを紹介する前にPostgreSQLの今を見ておきましょう。
PostgreSQLは25年前から進化を続けるオープンソースのRDBMSで、利用しやすいライセンス形態であることや開発コミュニティおよび日本国内のユーザコミュニティ体制がしっかりしていること、また大規模データや複雑なアプリケーションに対応できるようパーティショニング機能や商用RDBMSと同じ表の結合方式をサポートしており、近年、日本国内でエンタープライズ向けRDBMSとしての採用が急速に拡大しています。
2013年9月にリリースされたPostgreSQL最新バージョン 9.3では、図1にあるようにデータウェアハウス(以下、DWH)や開発・運用などのカテゴリで今まで以上に使いやすくするための機能が数多く実装されており、全体では150を超える機能拡張や追加、改善が行われています。
※機能詳細は、以下の記事をご覧ください▼
PostgreSQL 9.3新機能を検証してみた
「PostgreSQL9.3 エンタープライズ領域で注目の新機能はコレ」(2014/02/21掲載)
「PostgreSQL9.3 開発と運用を支える新機能」(2014/02/28掲載)
PostgreSQLはRDBMSとしての基本機能は充足しているものの、商用RDBMSの利用ユーザから見ると図2にあるようにいくつかの主要機能に課題があるのも事実です。
たとえば、PostgreSQLではストアドプログラムとして作成できるのはファンクションのみで、プログラム内でトランザクション制御ができません。また、性能障害が発生した際、Oracle Databaseでは待機イベントと呼ばれる実行プロセスの状態を特定できる情報を参照すればボトルネックが特定しやすいですが、PostgreSQLには同等機能が存在しません。Oracle Databaseの待機イベントに相当する情報を得るためには、動的追跡(Dtrace)やSystemtapによるトレーシングやプロファイリングを利用することになります。テスト環境上の性能評価や動作確認のためにトレーシングやプロファイリングを活用することはできますが、実運用しているデータベースにトレーシングやプロファイリングを行うことは難しく、その結果を評価するにも相応のスキルを要します。
エンタープライズ向けで必要とされながら、現行のPostgreSQLに実装されていない機能を強力に補完するRDBMSがあります。それがEnterpriseDB社が提供するPostgres Plusです。