-
[DB] Recoverable데이터베이스 2021. 4. 24. 16:35728x90
Recoverable schedules
트랜잭션 중 하나가 failure 발생 시 회복 가능한가?
-> 값을 write 하는 트랜잭션은 반드시 값을 Read하는 트랜잭션보다 먼저 commit 되어야 함
위 조건을 만족한다면 해당 스케쥴은 recoverable 하다 라고 표현함
Cascading rollback
undo 작업 : 트랜잭션이 시작되기 전 상태로 데이터 아이템을 돌려놓음 : 시스템 부하가 큼
모든 트랜잭션이 commit 되지 않은 상태임
T10 으로 인해 T11이, T11로 인해 T12까지 rollback 되는 현상 : Cascading rollback(연쇄 롤백)
Cascadeless schedule (ACA, Avoid Cascading, Aborts)
write 이후에 read만 하면 되는 것이므로 write 직후에 무조건 commit 을 함 -> commit 된 값만을 읽겠다.
모든 cascadeless schedule 은 recoverable 함
ST = ACA 보다 더 엄격한(Strict) 스케쥴링
write 연산 A 이후에 read 또는 write 연산 B가 수행된다면 A와 B 사이에 반드시 commit or abort instruction이 있어야함
ACA 이지만 ST가 아닌 경우
'데이터베이스' 카테고리의 다른 글
[DB] 데드락 (0) 2021.04.24 [DB] 동시성 제어 (0) 2021.04.24 [DB] Serializablilty (0) 2021.04.24 [DB] 트랜잭션 (0) 2021.04.24 [DB] ER 다이어그램 / Ternary relationship (0) 2020.12.15