ext3
- Linux のファイルシステム
- ジャーナリング機能
- 注意
- Oracle と違い、トランザクション終了時にバッファの情報をディスクに書き出すわけではないので、バッファにある最新データがロストすることがある
- ベストエフォート
- ユーザプロセスがファイルの更新をリクエスト
- ジャーナルにおいて I/O トランザクションが開始
- 2
- メタデータがジャーナルにコピーされる
- 実データおよびメタデータがメモリ上で更新される
- トランザクションを終了し、ユーザプロセスに返答する
- Kjournald (5 秒間隔) によるジャーナルの書き出しの前に、bdflush によってキャッシュ上のデータがディスクに書き出される
- データの書き込み後に、ジャーナルを書き出す(コミット)
- 2
- コミットの後、データがディスクに書き出されており、不要になっているジャーナルを開放する(チェックポイント)
- メタデータが非同期に書き出される
- 注意
- ロールバック
- ジャーナルを読んで実データの情報を過去に戻すこと
- ロールフォワード
- ジャーナルを読んで実データの情報を先に進めること