[pgcluster: 60] Re: 次の追加機能案

mitani mitani @ sraw.co.jp
2004年 1月 22日 (木) 21:42:09 JST


三谷@広島です.

> その時に各クラスタサーバに要求があると(normalモード)
> 
>  A1 -要->          A          -実-> A1 -通->          A          -完-> A1
>  E1 -要->      EDCBABCDE      -実-> E1 -通->      EDCBABCDE      -完-> E1
>  J1 -要-> JIHGFEDCBABCDEFGHIJ -実-> J1 -通-> JIHGFEDCBABCDEFGHIJ -完-> J1

少しイメージが違うように思います.
normal modeですと,クエリーを受付たクラスタで実行されるとフロントエンド
に結果を戻しますので,以下のようになります.
A1 -要->          A          -実-> A1 (裏でBCDEFGHIJ-完-)
E1 -要->      EDCBABCDE      -実-> E1 (裏でFGHIJ    -完-)
J1 -要-> JIHGFEDCBABCDEFGHIJ -実-> J1 (裏でJ2-J10   -完-)

reliable modeではどこからクエリーを受け付けても全クラスタで実行されるま
で結果はフロントエンドに戻しませんので,以下のようになります.
A1 -要-> A -実-> A1 -実->BABCDEFGHIJ -完 -> JIHGFEDCBA -戻->A1
E1 -要-> EDCBABCDE -実-> E1 -通-> EFGHIJ -完 -> JIHGFE -戻->E1
J1 -要-> JIHGFEDCBABCDEFGHIJ -実-> J1 -通-> J -完-> J1

これがfast modeの場合は最初のクラスタの結果をフロントエンドに戻しますの
で,以下のようになります.
A1 -要-> A -実-> A1 (裏でBCDEFGHIJ-完-)
E1 -要-> EDCBA -実-> A1 -> ABCDE -戻->E1 (裏でBCDEFGHIJ-完-) 
J1 -要-> JIHGFEDCBA -実-> A1 -> ABCDEFGHIJ -戻->J1 (裏でBCDEFGHIJ-完-) 

要求の上げ方や結果の戻し方は,工夫すればカスケードせずに直に通信すること
も可能だと思います.
fast modeの場合
A1 -要->  A -実-> A1 (裏でBCDEFGHIJ-完-)
E1 -要-> EA -実-> A1 -> AE -戻->E1 (裏でBCDEFGHIJ-完-)
J1 -要-> JA -実-> A1 -> AJ -戻->J1 (裏でBCDEFGHIJ-完-)
が可能かもしれません.
いずれにせよ,レスポンスモードによってカスケードの位置でレスポンスが異な
ることはあると思います.
クラスタのカスケード位置によってレスポンスに多少のバラつきは出るが,平均
して早いレスポンスが必要なのか,クラスタがカスケードのどの位置にあっても
(処理が全部終わるまで待つので遅いが)レスポンスのバラつきが少ないことが
必要かについては,扱うデータの質によって異なると思います.
なので,選択できるようにしようと思っています.

> あとカスケードの際に上位のレプリケーションでの処理応答を待ってから成功時
> に下位に処理を通知するのでしょうか?それとも上位は下位に垂れ流し?
処理応答を待ってからになります.
そうでないと例のカーネル・キューの問題でデータ整合性を保障出来なくなって
しまいます.

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






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