|
イベント |
ログ バッファ |
データ バッファ |
ディスク |
|
トランザクションTの開始 |
[B:T] |
||
|
トランザクションTによる書込み |
[W:T,A,Old,New] |
WALプロトコロに従う限り、ダーティーページをフラッシュしてもよい |
|
|
write(A,x) |
|||
|
トランザクションTのコミット |
|||
|
ログレコードへ 書込み |
[C:T] |
||
|
ログレコードを フラッシュ |
フラッシュ |
ログを ディスクへ書込 |
|
|
しばらくして データバッファを フラッシュ |
フラッシュ |
データを ディスクへ書込 |
ログを更新
正常終了
データバッファの
フラッシュを指示しない
データバッファは
そのうちディスク
に書き込まれる
(細かいことはOSに任せる)
システム障害時に
困るのでは?