[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 メーリングリストの案内