正解は エ
DBMSのトランザクション管理でコミット処理の完了タイミングが重要なのはACID特性の「D(Durability:耐久性)」を保証するため。耐久性とは「コミットが完了したトランザクションの変更はシステム障害が発生しても失われない」という保証。WAL(Write-Ahead Logging:先行ログ書き込み)方式では、データファイルへの書き込みより先にログファイル(トランザクションログ)への書き込みを完了することを原則とする。コミット処理が完了するタイミングは「ログファイルへのコミット情報の書き込みが完了した時点」。この時点でシステムがクラッシュしても、ログファイルからREDO(再実行)によって変更を復元できる。ログバッファ(メモリ上)への書き込みは物理的な障害(電源断等)で失われる可能性があるため、コミット完了と見なすには不十分。データファイルへの書き込み完了を待つと性能が大きく低下するため、WALではログファイル書き込みをコミット完了の基準とする。
WALの原則「ログ先行書き込み」: データファイルへの書き込みより前にログファイルへ書き込むことで障害耐性を確保する。ログバッファ(メモリ)とログファイル(ディスク)の違いが重要。