WAL 【Write-Ahead Logging】 WALプロトコル

概要

WAL(Write-Ahead Logging)とは、データベースにおけるトランザクション処理で、これからう処理のログを先に記録する仕組み。処理が意図せず中断した際に整合性を保つことができる。RDBMSの機能として提供される。

トランザクション処理は複数の関連する処理を一体化し、「すべて完了」か「すべて実施前」のいずれかになることを保証する仕組みである。ある口座から出金して別の口座へ入金する場合など、途中で中断しては困る手続きなどに適用される。

WALはトランザクション整合性を維持する仕組みの一つで、これから実施する操作のログを専用の記録領域に書き込む。システム障害などにより処理途上で中断してしまった場合は、復旧後にログの内容と現在の状態を突き合わせ、開始前の状態に戻すロールバック処理か、途中から処理を再開するロールフォワード処理実行することができる。

通常はデータベース管理システムDBMS)の機能の一つとして提供され、PostgreSQLなどでは「WAL」の名称が用いられるが、Oracle Databaseでは「REDOログ」がWAL機能に相当する。ファイルシステムでも同様の仕組みで記録内容の整合性を保証する場合があり、「ジャーナリング」(journaling)と呼ばれる。

(2024.7.29更新)
この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる