책 내용 질문하기
2권 178, 179쪽 redo와 undo
도서
2019 시나공 정보처리기사 실기(산업기사포함)
페이지
178,179
조회수
329
작성일
2019-06-13
작성자
탈퇴*원
첨부파일
178쪽 <잠깐만요>에서 트랜잭션의 시작과 완료 기록이 있으면 Redo, COMMIT(완료) 기록이 없으면 Undo를 실행한다고 적혀있습니다. 그런데 179쪽의 연기 갱신은 성공적인 종료 전까지 데이터베이스 실질 갱신을 연기 하는데 왜 Undo가 아닌 Redo 회복 기법을 쓰나요? 실질 갱신을 연기한다는 것은 COMMIT이 연기되는 게 아닌가요?
답변
2019-06-14 09:58:43

안녕하세요 길벗수험서 운영팀입니다.

 

연기 갱신 기법에서 트랙잭션 수행은 기존과 동일합니다. 

commit 전까지 수행되는 작업들이 DB를 변경하느냐, 아니면 로그를 변경하느냐의 차이죠. 

즉, 로그를 통해 commit까지 정상적으로 수행된 작업들만을 DB로 전송하기 때문에 'Redo' 작업을 수행하죠.

 

Undo는 트랜잭션이 정상적으로 종료하지 못했을 때 수행한다는 것을 잊지마세요.

('정상적으로 종료하지 못함'을 판단하기 위해 트랙잭션에서 'commit'이 수행되었는지 판단할 뿐입니다.)

Undo를 수행하는 것은 정상적으로 종료하지 못하고 잘못된 처리과정이 DB에 저장되어있는 것을 되돌리기 위함인데, 여기서 연기갱신기법은 DB에 반영하지 않고 로그에 반영했기 때문에 DB를 되돌리는 Undo 과정이 필요없게 되죠.

 

행복한 하루되세요 :)

  • 관리자
    2019-06-14 09:58:43

    안녕하세요 길벗수험서 운영팀입니다.

     

    연기 갱신 기법에서 트랙잭션 수행은 기존과 동일합니다. 

    commit 전까지 수행되는 작업들이 DB를 변경하느냐, 아니면 로그를 변경하느냐의 차이죠. 

    즉, 로그를 통해 commit까지 정상적으로 수행된 작업들만을 DB로 전송하기 때문에 'Redo' 작업을 수행하죠.

     

    Undo는 트랜잭션이 정상적으로 종료하지 못했을 때 수행한다는 것을 잊지마세요.

    ('정상적으로 종료하지 못함'을 판단하기 위해 트랙잭션에서 'commit'이 수행되었는지 판단할 뿐입니다.)

    Undo를 수행하는 것은 정상적으로 종료하지 못하고 잘못된 처리과정이 DB에 저장되어있는 것을 되돌리기 위함인데, 여기서 연기갱신기법은 DB에 반영하지 않고 로그에 반영했기 때문에 DB를 되돌리는 Undo 과정이 필요없게 되죠.

     

    행복한 하루되세요 :)

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.