실시간 노트
회색 줄은 정리 중, 검게 바뀌면 확정이에요. 확정된 줄은 움직이지 않아서 바로 그 위에 필기해도 돼요.
7강 트랜잭션 격리 수준데이터베이스 · 10월 14일
녹음 중
데이터베이스 · 7강3 / 6
이상 현상 세 가지 anomaly
Dirty Read
commit되지 않은 값을 다른 트랜잭션이 읽는다
- T1x = 70 수정
- T2x 읽기 → 70
- T1rollback
Non-repeatable
같은 행을 두 번 읽었는데 값이 다르다
- T1x 읽기 → 100
- T2x = 70, commit
- T1다시 → 70
Phantom Read
같은 조건인데 행 개수가 다르다
- T12학년 → 3행
- T2insert, commit
- T1다시 → 4행
데이터베이스 · 7강4 / 6
격리 수준 4단계
| Dirty | Non-rep. | Phantom | |
|---|---|---|---|
| READ UNCOMMITTED | O | O | O |
| READ COMMITTED | X | O | O |
| REPEATABLE READ | X | X | O |
- 7강 트랜잭션 ②: 격리 수준(isolation level)
- • 지난 시간 ACID 복습: 원자성·일관성·격리성·지속성
- • 직렬 실행(serial): 가장 안전하지만 너무 느림
- • 겹쳐 실행(concurrent): 빠르지만 겹침 문제가 생김
- • 교수 강조이상 현상(anomaly) 3가지는 꼭 구분
- – Dirty read: commit 전 값을 다른 트랜잭션이 읽음
- – Non-repeatable read: 같은 행을 다시 읽으니 값이 바뀜
- – Phantom read: 같은 조건 조회에 새 행이 끼어듦
- • 격리 수준이 높을수록 정확, 대신 느려짐
- 듣는 중