[hackers-jp: 81] Re: Fw: Proposals for PITR

Tatsuo Ishii t-ishii @ sra.co.jp
2004年 2月 14日 (土) 08:45:01 JST


石井です.

> 素朴な疑問として、WALに書き出すレコードの内容は、
> 以前のproposalのときと同じでストレージの創成・削除くらいしか、
> 追加しないんでしょうかね?
> 
> 他のところでもちょっと書きましたが、現在のWALは
> タプルの物理的な情報(ブロック番号、オフセット、他)しか
> ロギングしていないように見えるのですが、
> 本当にそれでいいんでしょうか?
> 
> 例えば、昨年のカンファレンスの事例であったSQLのログ取得のように、
> 後からSQL文をトレースして他の待機系DBにapplyしたい(roll-forward)と
> いった場合には、現在のようなタプルの物理的な情報よりも、
> 論理的なSQL文そのものを取れるようにした方がいいのではないかと
> 思うのですが。
> 
> http://www.postgresql.jp/misc/seminar/2003-05-17/A2_watabe.pdf

あれに限らず,SQL文だけを記録することによってDBをロギングするアプロー
チはちょっと無理があるような気がします.単純に考えても,
CURRENT_TIMESTAMPを含んでいるようなSQL文は後からREDOしても意味ありませ
ん.それに並列に走っていたトランザクションは,並列に走っていた状態を再
現しない限り,DBに対して同じ結果が出ません(すべてSERIALIZABLE MODEで
動かす前提ならば可能かも知れませんが).後,SQLを使わない更新処理,た
とえばlarge objectはアウトですね.

> 例えば、OracleだとアーカイブREDOログを解析するLogMinerという
> 機能があって、それを使うとSQL文を抽出できるらしいです。
> 
> ・参考
> Oracle9iデータベース管理者ガイド
> 7章「オンラインREDOログの管理」
> 8章「アーカイブREDOログの管理」
> 9章「LogMinerを用いたREDOログの分析」
> 
> どういうレイヤーでログを取る必要があるのかというのは、
> もうちょっと議論する必要があるのかもしれません。

SQL文を表示してDB管理者が参考にできる程度なら,それはそれで有用だと思
います.
--
Tatsuo Ishii



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