일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 카데인 알고리즘
- hash table
- Kadane's Algorithm
- JAVA11
- R
- scanner
- 수학
- input
- 자바 thread 실행 순서 제어
- heroku
- array
- 사칙연산
- 자바 스레드 실행 순서 제어
- 자바입력
- SpringBoot 2
- Easy
Archives
- Today
- Total
DeFacto-Standard IT
지연갱신 / 즉시갱신 본문
- 지연갱신
트랜잭션이 commit될 때 까지 갱신 내용을 디스크에 저장하지 않고 지연시킨다. 트랜잭션이 실행되는 동안에는 갱신된 내용을 주기억장치의 버퍼에 기록하고, 트랜잭션이 commit을 하면 버퍼의 내용을 디스크로 저장하도록 OS에 요청한다. 만약 트랜잭션 수행 도중 에러가 발생할 경우 디스크에 직접적으로 갱신하지 않았으므로 undo연산이 필요가 없다. 따라서 로그에는 이전 값이 필요가 없다. commit이 로그에 정상적으로 적혀 있더라도 디스크에 저장되지 않았을 경우에 대비하여 redo연산만 하면 된다.
- 즉시갱신
트랜잭션이 commit할 때 마다 OS에 디스크에 저장할 것을 요구한다. 장애가 발생하여 재가동된다면 완료되지 못한 트랙잭션에 대해서 undo연산으로 값을 되돌려야 한다. commit된 트랜잭션이라도 디스크의 반영 사실을 확인할 수 없으므로 redo연산도 필요하다. 따라서 갱신에 관한 로그 레코드에 이전값, 이후값이 모두 저장되어야 한다.
'DB > Theory' 카테고리의 다른 글
Shared Lock / Exclusive Lock (0) | 2017.11.15 |
---|---|
각 정규형의 특징 (0) | 2017.11.15 |
이상현상 (0) | 2017.11.15 |
정규화 (0) | 2017.11.15 |
Redo / Undo (0) | 2017.11.15 |
Comments