[pgsql-jp: 36618] Re: Webサーバ冗長化構成での pgpool の配置

keigo ito keigo.ito @ gmail.com
2006年 1月 12日 (木) 22:32:49 JST


石井さん:

お世話になります。伊藤です。

replication_stop_on_mismatch = true にして運用したいと思います。


ご回答有難うございました。


On 1/12/06, Tatsuo Ishii <ishii @ sraoss.co.jp> wrote:
> 石井です.
>
> > 石井さん:
> >
> > 伊藤です。迅速、丁寧なご回答、まことに有難うございます。
>
> どういたしまして.
>
> > > 個人的には、
> > >
> > > replication_stop_on_mismatch = false
> > >
> > > で運用した方が、ささいなことで縮退しないのでよいと思います。
> > > そのかわりhealth checkを入れてDBサーバの状態を監視するようにした方が良
> > > いのではないでしょうか。health checkがないと、DBにアクセスに行くまで障
> > > 害を検知できませんので。
> >
> > アドバイスの通り、
> > replication_stop_on_mismatch = false
> > health_check_timeout = 10
> > health_check_period = 10
> > health_check_user = 'xxx'
> >
> > を追加しました。
> > 蛇足ですが、
> > > replication_stop_on_mismatch = false
> > >
> > > で運用した方が、ささいなことで縮退しないのでよいと思います。
> >
> > この「ささいなこと」とはどういったことが考えられますか?
> >
> > README によると、
> > > replication_stop_on_mismatch
> > >
> > > trueを指定するとマスタとセカンダリの間でデータの不一致があった場合
> > > に強制的に縮退運転に入ります.このオプションがfalseの場合は,該当の
> > > 問い合わせを強制的に終了するだけに留めます.デフォルト値はfalseです.
> >
> > とのことですが、具体的にどういったことが想定されるのか、「ささいなこと」の不一致によるデータ整合性の欠如の問題がないのか等、向学のためにご教授頂ければと思います。
>
> 失礼しました.前のメールを読み返してみたら,ロードバランスを有効にして
> いるので,replication_stop_on_mismatch = trueでも問題ないと思います.
>
> 私が想定していたのは,ロードバランスを無効にしている場合の検索結果の不
> 整合による縮退です.
>
> 1) 間違ってマスタやセカンダリに直接接続してデータを登録してしまった結果,
>   同じテーブルでもデータ件数が一致しなくなった
>
> 2) そもそもデータ件数が一致しないかもしれない問い合わせを発行した.たと
>   えば,random()やcurrent_timestapを使った問い合わせなど
>
> 3) 負荷の高いシステムで,タイミングによってたまたまデータ件数が一時的
>   に一致しなくなった
>
> のようなケースを考えていました.
> --
> Tatsuo Ishii
> SRA OSS, Inc. Japan
>



pgsql-jp メーリングリストの案内