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

Tatsuo Ishii ishii @ sraoss.co.jp
2006年 1月 12日 (木) 09:37:27 JST


石井です.

> 石井さん:
> 
> 伊藤です。迅速、丁寧なご回答、まことに有難うございます。

どういたしまして.

> > 個人的には、
> >
> > 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 メーリングリストの案内