私はすでに仮想ボックスを使用してローカルマシンに2つのubuntuサーバー12.04LTSをセットアップしており、マスタースレーブレプリケーション(postgresql 9.1)を使用しています。
私の質問は、2つのデータベースサーバーに基づいて負荷分散を適用する方法ですか? pgpool2とpgbouncerについて聞いたことがありますが、どちらを使用すればよいですか?
みんなに感謝し、申し訳ありませんが、postgresレプリケーションは初めてです。
PgBouncerとPgPool-IIのうち、負荷分散をサポートしているのはPgPool-IIのみです。
PgPool-IIの負荷分散は、特定の要件を満たす読み取り専用クエリのみをサポートします。 pgpool docs を参照してください。さらに、負荷分散クエリを開始すると、レプリカがマスターより遅れている可能性があるため、データベースの一貫したビューを取得することが保証されなくなります。
個人的には、読み取りクエリの負荷分散などの面倒な作業を行う前に、キャッシュレイヤー(memcached/Redis)を追加することを検討します。