|
イベント |
ログ バッファ |
データ バッファ |
ディスク |
|
トランザクションTの開始 |
[B:T] |
||
|
トランザクションTによる書込み |
[W:T,A,New] |
||
|
write(A,x) |
|||
|
トランザクションTのコミット |
[C:T] |
||
|
ログレコードを フラッシュ |
フラッシュ |
ログを ディスクへ書込 |
|
|
ログの内容に基づき トランザクション中のwrite操作をデータベースに反映 (遅延更新) |
フラッシュ |
データを ディスクに書込 |
ログを更新
データベースを更新
正常終了
ログバッファや
データバッファが
たくさんあるときは
適当なタイミングで
ディスクに書き込まれる
データバッファを
強制的にディスクに
書き込む
ログバッファを
強制的にディスクに
書き込む