자동 쓰기 로깅
Write-ahead logging컴퓨터 과학에서 WAL은 데이터베이스 시스템에서 원자성과 내구성(산성의 두 가지 특성)을 제공하기 위한 기법의 한 계열이다.변경사항은 먼저 로그에 기록되며, 변경사항이 데이터베이스에 기록되기 전에 안정적인 저장소에 기록되어야 한다.
WAL을 사용하는 시스템에서 모든 수정사항은 적용되기 전에 로그에 기록된다.일반적으로 redo 및 undo 정보는 모두 로그에 저장된다.
이것의 목적은 예를 들어 설명할 수 있다.실행 중인 기계에 전원이 공급되지 않을 때 일부 작업을 수행하는 프로그램을 상상해 보십시오.다시 시작하면 해당 프로그램은 수행 중이던 작업이 성공했는지, 부분적으로 성공했는지, 실패했는지 여부를 알아야 할 수 있다.미리 쓰기 로그를 사용하면 이 로그를 확인하고 예기치 않게 전원이 끊겼을 때 해야 할 일을 실제 실행된 일과 비교할 수 있다.이 비교에 기초하여, 프로그램은 시작한 것을 되돌리거나, 시작한 것을 완성하거나, 사물을 있는 그대로 유지하기로 결정할 수 있었다.
WAL은 데이터베이스 업데이트를 내부로 수행할 수 있도록 허용한다.원자 업데이트를 구현하는 또 다른 방법은 섀도 페이징을 사용하는 것인데, 섀도 페이징은 제자리에 있지 않다.내부 업데이트를 할 때의 가장 큰 장점은 인덱스와 블록 리스트를 수정할 필요성을 줄인다는 것이다.
ARIES는 WAL 계열에서 인기 있는 알고리즘이다.
현대의 파일 시스템은 일반적으로 최소한 파일 시스템 메타데이터에 대해 WAL의 변형을 사용한다. 이를 저널링이라고 한다.