로그 우선 기록(write-ahead logging)에 관련된 설명으로… | [경찰간부후보생 데이터베이스론] 24년 1회차 기출문제 상세 페이지
1[경찰간부후보생 데이터베이스론] 24년 1회차
로그 우선 기록(write-ahead logging)에 관련된 설명으로 가장 적절하지 않은 것은?
1
로그 레코드를 주 메모리(main memory)의 버퍼 블록에 모아 한번에 출력하는 로그 레코드 버퍼링(log record buffering) 기법을 사용하면 로그의 안정적인 관리가 보장된다.
2
트랜잭션 T는 <T, commit> 로그 레코드를 안전한 저장장치에 출력시켜야만 완료 상태가 된다.
3
<T, commit> 로그 레코드를 출력하기 전에 T에 관련된 모든 로그 레코드를 안전한 저장장치에 출력해야 한다.
4
데이터베이스 버퍼 블록을 출력하기 전에 이 버퍼 블록의 데이터와 관련된 모든 로그 레코드가 안전한 저장장치에 출력되어야 한다.
해설
로그 레코드 버퍼링을 쓰면 안정적 관리가 보장된다는 설명이 적절하지 않다. 주 메모리의 버퍼는 휘발성이므로 장애 시 내용이 사라질 수 있다.
버퍼링은 출력 횟수를 줄이는 기법일 뿐이다. 안정성은 로그를 먼저 안전한 저장장치에 출력하는 규칙을 지켜야 확보된다.
- commit 로그 출력 후 완료: 그 레코드가 안전하게 저장되어야 트랜잭션이 완료 상태가 되므로 적절하다.
- commit 로그 전 관련 로그 출력: 트랜잭션의 로그를 앞서 저장해야 하므로 적절하다.
- 버퍼 블록 출력 전 로그 출력: 로그 우선 기록의 핵심 규칙으로 적절하다.
오류나 개정된 내용이 보이면 알려주세요