Satoshi Nagayasu
nagay****@nttda*****
2006年 12月 21日 (木) 14:40:10 JST
中井さま、 初めまして、永安です。 さっそくのご質問ありがとうございます。 > 質問1 シーケンス番号など、二重化しているそれぞれのデータベースで > 同じになりますか? それぞれのデータベースから同じ値が返って > くることをどうやって保証しているのでしょうか? PostgreSQLのいわゆる「SERIAL」については、同期性を保証していません。 SERIALのみならず、now()やOIDなども同様に保証していません。 これを保証すると、仕組みが複雑になる上にオーバーヘッドが発生すると 判断しているためです。 その代替として、採番テーブルを使った採番方法を推奨しています。 アプリケーション側で採番する仕組みを作り込む方法です。 パッケージに含まれている examples/Sequence/Sequence.java が そのサンプルになります。 見て頂くと分かりますが、このSequenceクラスは、 Sequence#nextval(String seq) Sequence#currval(String seq) Sequence#setval(String seq, int val) といったメソッドを持っており、これらをアプリケーションから呼び出すことで 採番の仕組みを簡単に作り込むことができるようになっています。 > 質問2 縮退運転に入ったあとの復旧(同期)は手動でしょうか? 「手動」というのがどのレベルを指しているのかもありますが、 基本的には、リカバリ用のコマンドを叩いて頂く形になります。 ただし、「手動」とは言ってもpg_dumpから何から、すべてを 手で叩くわけではなく、Forestのリカバリコマンドを使うことになります。 (もちろんpg_dumpなどを使っていただくことも可能です) > 質問3 how toものではない内部機構についての解説はどこかにあるで > しょうか。forestの具合が良さそうなので、情報に飢えています。 すみません、あまり細かいものがまだ無いのですが、とりあえず 以前イベントで使ったスライドを、簡単な解説とともにblogの方にアップしてみました。 よろしければご覧ください。 PostgresForestの内部構造(1) http://www.doblog.com/weblog/myblog/59076/2511505#2511505 > 質問4 メインのサーバが死んだときバックアップのサーバだけで > 稼動できるでしょうか? はい。稼働できます。 というか、PostgresForestでは、 基本的には「プライマリ/バックアップ」という概念はありません。 すべてのサーバが同じ扱いになります。 > お願い > SourceForgeのチュートリアルを見たのですが、行の自動折り返しが禁止に > なっていて非常に見辛かったので、なんとかなるとうれしいです。 すみません。docutilsというツールを使って自動生成しているもので、 どうにかできるか、ちょっと調べてみようと思います。 今しばしお待ちくださいませ。 では。 Hisakazu Nakai wrote: > 初めまして、中井です。 > > 宜しくお願いします。 > 現在、pgpool 3.1.1を使って二重化して使っています。 > サーバ自身がこけたときの対策として二重化の機能を利用しています。 > そこで、特にpgpoolで気をつけなくてはならない点などについて > forestではどうなっているかを教えて頂ければありがたいです。 > > 質問1 シーケンス番号など、二重化しているそれぞれのデータベースで > 同じになりますか? それぞれのデータベースから同じ値が返って > くることをどうやって保証しているのでしょうか? > > 質問2 縮退運転に入ったあとの復旧(同期)は手動でしょうか? > > 質問3 how toものではない内部機構についての解説はどこかにあるで > しょうか。forestの具合が良さそうなので、情報に飢えています。 > > 質問4 メインのサーバが死んだときバックアップのサーバだけで > 稼動できるでしょうか? > > お願い > SourceForgeのチュートリアルを見たのですが、行の自動折り返しが禁止に > なっていて非常に見辛かったので、なんとかなるとうれしいです。 > -- NAGAYASU Satoshi <nagay****@nttda*****> Phone: +81-50-5546-2496