ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [DB] Recoverable
    데이터베이스 2021. 4. 24. 16:35
    728x90

    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

    댓글

Designed by Tistory.