[pgcluster: 408] Re: システム構成について教えてください

mitani mitani @ sraw.co.jp
2004年 7月 14日 (水) 09:50:46 JST


三谷@広島です.

> ><システム構成図>
> >○東京
> >Webサーバ --ルータ-+- DBサーバ(PostgreSQL7.2.1, UnixWare7.1.1)
> >             |     |
> >             |     +-レプリケーションサーバ(UnixWare7.1.1)
> >           専用線
> >○大阪       |
> >Webサーバ --ルータ-- DBサーバ(PostgreSQL7.2.1, UnixWare7.1.1)
> >
> >上記のようなシステム構成で問題となるようなことはあるでしょうか。
> 
> DBサーバ(クラスタサーバ)はPostgreSQL7.3.4ベースになるようですね、
> UnixWare, 専用線等を使用した別セグメント上にあるサーバ同士の稼動実績はあるのでしょうか。
谷田君のフォローにもあるように,UnixWareで使われた報告例はこれまでのとこ
ろありません.
専用線やVPNを使用し,複数の事業所間でClusterDBの同期をとるような使い方を
されている方からの報告は数例あります.
ただし,頂いている報告はいずれも,主要な用途はDBの参照で,夜にバッチで流
す更新の同期をPGClusterでとるという使い方をされているようですので,更新
系のパフォーマンスはあまり問題にされていないようでした.

> よくよく考えましたら、回線がダウンしたときにマルチマスタで
> リカバリするのは難しいことがわかりました。別の方法を考えてみます
上記の構成の場合,回線がダウンするとデータ同期は不可能になりますので,
データの同期が常にとれていることで前提であれば,マルチマスタ,マスタスレー
ブに関係なく,DBサーバを分散すること自体が無理だと思います.

もし,データを,
(1)同期がとれている必要のあるデータ
(2)同期が取れていなくても良いデータ
に分けることができるのであれば,DBの分散は可能かもしれません.

例えば,
(1)東京側だけで使用するデータ(参照・更新は東京側のみ)
(2)大阪側だけで使用するデータ(参照・更新は大阪側のみ)
(3)東京・大阪両方で使用するデータ(主に参照,更新はメンテ時のみ)
のような3種類に分けることができる場合,
(3)のデータのみをレプリケーション対象に設定し,Read Write ModeでCluster
DBを運用すれば,回線が切れた場合でも(3)のデータのメンテ時以外は連続稼動
が可能になると思います.
(このタイプによる運用の場合,回線復旧後はリカバリーモードでの全DBコピー
による復旧ではなく,必要なテーブルだけをリストアことになりますが,これく
らいの処理であれば,簡単なスクリプトを書けば自動化も可能だと思います.)

いずれにせよ,システム要件に合わせてサーバ構成・データ構成を再考されるこ
とをお勧めします.

=============================
三谷 篤<mitani @ sraw.co.jp>
=============================





pgcluster メーリングリストの案内