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

Satoshi Nagayasu snaga @ snaga.org
2004年 2月 14日 (土) 04:54:55 JST


永安です。

Hideyuki Kawashima <kawasima @ ayu.ics.keio.ac.jp> wrote:
> こんばんは。川島です。
> 
> snaga> 本質的に重要なのはユーザの発行したSQLという論理演
> snaga> 算の集合なのではないかとも思うわけです。
> 
> PITRてのは時間をキーとして、その時間までロールフォワードする機能のよう
> ですが、永安さん的には、時間だけでなくて、トランザクションの羅列をシス
> テムが提示してくれて、DBAがそれをみながら、
> ある時点までちくちく戻していくというイメージでしょうか。

はい。
PITRという観点だけであれば、機械的に特定の時間まで
ロールフォワードして止めればいいわけですが、
「ログをアーカイブする」という意味を広義に考えると、
そういうニーズが発生し得るのではないかと。

どういうSQLでどのレコードが書き換えられたのかをトレースする機能
というのは、DBA的には必要なものなのではないかと思います。

今までのWALというのは、単純なインスタンス障害からのリスタートだけに
使われていましたが、実際、ログの使われ方(ニーズ含む)は、
機械的な障害時だけではないのではないか、と。

SQLから更新タプルデータへの変換は不可逆なわけですから、
そういう意味では大元のSQLも一緒に保存するのが、
もっともアーカイブログのユーティリティ性を高めるのではないか、と
思ったりします。まぁ不要ならOFFにできればいいだけですので。

まだいろいろ考えてる段階ですので、あまり厳密な議論ができなくて
申し訳ないのですが。

# 最初に出した例が悪かったかも。。

> それは時間だけがキーの場合よりも便利なように思います。
> 
> まだログ周りを読んでないのでなんともいえませんが、
> トランザクションのコミット前に全SQLをログに書く必要がありそうですね。

イメージとしては、Parserを通った後にWALバッファに突っ込んで、
COMMIT時にDISKに書き込み、という形になるかと思います。

-- 
NAGAYASU Satoshi <snaga @ snaga.org>




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