web-dev-qa-db-ja.com

postgresql9.1を使用したマスタースレーブレプリケーションでのpgpool2のセットアップ

私はすでに仮想ボックスを使用してローカルマシンに2つのubuntuサーバー12.04LTSをセットアップしており、マスタースレーブレプリケーション(postgresql 9.1)を使用しています。

  1. 192.168.0.109 =マスター
  2. 192.168.0.110 =スレーブ

私の質問は、2つのデータベースサーバーに基づいて負荷分散を適用する方法ですか? pgpool2とpgbouncerについて聞いたことがありますが、どちらを使用すればよいですか?

みんなに感謝し、申し訳ありませんが、postgresレプリケーションは初めてです。

1
user3273479

PgBouncerとPgPool-IIのうち、負荷分散をサポートしているのはPgPool-IIのみです。

PgPool-IIの負荷分散は、特定の要件を満たす読み取り専用クエリのみをサポートします。 pgpool docs を参照してください。さらに、負荷分散クエリを開始すると、レプリカがマスターより遅れている可能性があるため、データベースの一貫したビューを取得することが保証されなくなります。

個人的には、読み取りクエリの負荷分散などの面倒な作業を行う前に、キャッシュレイヤー(memcached/Redis)を追加することを検討します。

2
Craig Ringer