pgpool-IIの概要

「pgpool-II」とは、PostgreSQLの高速化と高信頼化を目的としたミドルウェアである。pgpool-IIは、下図のようにクライアントとPostgreSQLの間に入る形(プロキシ形式)で動作する。なお、データベースクライアントはPostgreSQLサーバへ接続するのではなく、pgpool-IIへ接続することになる。

pgpool-IIは現在、pgpool Development Groupにより開発が継続されている。ライセンスには修正BSDライセンスを採用しており、ソースコードが公開されているので自由に利用することができる。ソースコードはhttp://pgfoundry.org/projects/pgpoolからダウンロードすることができる。なお、2007年10月1日現在のpgpool-IIの最新バージョンは1.2.1である。

pgpool-IIはさまざまな機能を備えており、設定ファイルにどの機能を使うかを記述する。代表的な機能は以下の通りである。

  • コネクションプーリング
  • 同期レプリケーション
  • ロードバランス
  • パラレルクエリ

本稿ではこれらの機能について説明し、実際にどのように動かすかを見ていく。