로그 선행 기입

로그 선행 기입(write-ahead logging, WAL)은 데이터베이스 시스템에서 ACID의 특성 가운데 원자성내구성을 제공하는 기술의 한 계열이다.

WAL을 사용하는 시스템에서 모든 수정은 적용 이전에 로그에 기록된다. 일반적으로 redo 및 undo 정보는 둘 다 로그에 저장된다.

한 예로 어느 프로그램이 특정 작업을 수행하는 동안 컴퓨터에 정전이 일어났다고 하자. 다시 시작할 때 프로그램은 어느 작업이 수행을 성공적으로 마쳤는지, 절반 성공했는지, 아니면 실패했는지를 잘 알고 있어야 한다. 로그 선행 기입이 사용된다면 프로그램은 이러한 로그를 검사하여 예기치 않은 정전 시 해야할 일과 실제로 했던 일을 비교하게 된다.

WAL은 데이터베이스 업데이트가 인 플레이스 알고리즘을 사용할 수 있게 한다. 원자적 업데이트를 구현하는 또다른 방법은 인 플레이스 알고리즘이 아닌 그림자 페이징 기법을 사용하는 것이다. 인 플레이스로 업데이트할 때의 주된 이점은 색인과 블록 목록의 수정 필요성을 줄인다는 점이다.

ARIES는 WAL 계열 중 잘 알려진 알고리즘이다.

사용 제품 편집

각주 편집

  1. “Reliability and the Write-Ahead Log”. www.postgresql.org. 2011년 4월 15일에 확인함. 
  2. [1]