[pgsql-jp: 38669] Re: Sigres vs. PG8.3 asynchronous_commit

Hideyuki Kawashima kawasima @ cs.tsukuba.ac.jp
2007年 8月 21日 (火) 18:34:43 JST


板垣様

> このような改良の有用性については、広く認知されているようですね。

どうでしょうか。現段階では殆ど認知されていないと思います。なぜならばこの
ような手法は信頼性を損なう可能性があるのですが、そもそもDBMSを使う人は、
DBMSがcommitメッセージを返却すればそのデータは永続化されたと考えたいから
です(ACIDのD)。といっても現実的には Durabilityが完璧に保証されることは
ありえませんから、信頼性と性能を秤にかけて、特定用途に応じてこのような手
法を選択される方はいらっしゃいます。

私がSigresを開発しようと思った理由は、メモリが不揮発にさえなってくれれば
データ書き込みトランザクションの性能を10〜50倍程度改善できるからでした。
現在はUPSを使うことを前提としていますので、自分でいうのも何ですが、信頼
性はあんまりありません。ダメダメです。私はMRAMなどの不揮発メモリが安価な
PCで使用可能になるのを待っています。

ただ、今後コア数が数十程度になるのに時間はかからないでしょうから、
WALInsertLockをフリーにすることで大きな性能向上が見られるようになると思
います。本質的な改善には新しい永続化アルゴリズムが必要になると私は考えて
おり、雑用の合間を縫って実装したいと思っています。

最後に、PGcon2007に関する情報提供をくださりありがとうございました。とて
も参考になりました。お礼申し上げます。28%の改善は少ないですね。アルゴリ
ズム改善により、もっと大きな改善を示したいと思います。失礼致します。


川島英之

ITAGAKI Takahiro wrote:
> 板垣です。
>
> Hideyuki Kawashima <kawasima @ cs.tsukuba.ac.jp> wrote:
>
>   
>> こんにちは。川島です。ご質問ありがとうございます。
>> synchronous_commit = off
>> 詳細をわかっていないのですが、おそらく殆ど同様な性能になるのではないかと
>> 思います。
>> ただし、下記点で違いがあるかもしれません。
>> 1: WALWriteLock
>> 2: AdvanceWALInsertBuffer
>>     
>
> ご回答ありがとうございました。
> このような改良の有用性については、広く認知されているようですね。
>
>
>   
>> 次の課題はWALInsertLockを取得せずに並列的にログを書き込む手段を実装する
>> ことだと思い、現在設計をしているところです。
>>     
>
> たしかに、更新が多い用途だと、WALまわりでのロック競合多発が指摘されている
> ようです。PGCon 2007 でも、WALInsertLock の改善で、28% の向上があったという
> 講演がありました。参考までにお知らせします。
>   Scaling PostgreSQL on SMP Architectures
>   http://www.pgcon.org/2007/schedule/events/16.en.html
>
>
>
>
>   

-- 
Hideyuki Kawashima (Ph.D.), University of Tsukuba,
Graduate School of Systems and Information Engineering
Assistant Professor, TEL: +81-29-853-5322





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