[pgsql-jp: 38085] Re: コミット待ちトランザクションのメモリ消費量について

松本 康寛 wochenendhaus @ hotmail.com
2007年 2月 27日 (火) 15:38:43 JST


松本です。
ご返答ありがとうございます。

>そもそもメモリ消費量は未コミットの変更量に依存するのですか?
>
>ロールバックに必要なデータはデータファイルの中に書いてあるし、
>REDOに必要なデータはWALファイルの中に書いてあるから、
>ちょっと考えて実装すると、そうはならないようにできるはずなん
>ですが、実際はどうなんですかね?
>
>例えばOracleも、ロールバックセグメントが大量に食われるという
>のはありますが、メモリが食われるというのは聞いたことありませ
>んし。


そうなんです。
共有メモリなどのことを調べてみても
出てくる話題は検索時のキャッシュなどのことが多くて・・・
「未コミットのまま、処理を続けるとどんな影響があるのか」
についての話題を見つけることができなかったので・・・
(話題にするレベルでもない??)

しかし、仕事ではコミットする件数が決められていることが多ので・・・
で、理由を聞くとメモリの話になります。
裏づけのある理由ではなく、源泉は「感覚的・経験的」です。

そもそも
実際のファイル書き込みってどうなっているしょうか?
私が調べたレベルでは
1. 登録・更新・削除すると直接ファイルに書き込みに行く
(ロールバックされるとゴミ領域として残る→VACUUMで処理)
2. コミットされるとWALに書き込まれる。
3. 遅れてWALから各データファイルに書き込まれる。
(直接書き込んだデータの更新?)
という感じなんですが・・・
間違っていますか?


>ところで、後学までに教えて欲しいのですが、
>
> > 単純にバッチ開始実行前にバックアップを
> > 取っておけばいいわけですが、リアルタイムバッチの場合は
> > その方法は使えないですし・・・
>
>リアルタイムバッチって、どういうものなのでしょう?

不適切な表現ですね。申し訳ありません。
・一括でまとめて処理する機能をバッチ処理
・「夜間バッチ」の対として「リアルタイムバッチ」
(日中にユーザオペレーションなどで実行される一括処理)
と、私の所属している作業場では表現しています。

ご意見ありがとうございました。


*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*

 松本 康寛 (マツモト ヤスヒロ)

E-mail :wochenendhaus @ hotmail.com
*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*

※利便性などを考えて、Hotmailを使用しております。
 何卒、ご理解を賜りますようよろしくお願いします。

_________________________________________________________________
ライブ映像を配信する「MSNミュージック LIVE PERFORMANCES」がスタート! 
http://music.jp.msn.com/lp/ 




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