데이터베이스/RDB

데이터베이스 동시성제어 (2)

정재익 2025. 12. 23. 01:34

회복불가능한 스케줄
스케줄 내에서 커밋된 트랜잭션이 롤백된 트랜잭션이 write 했었던 데이터를 읽은경우

롤백을해도 이런 스케줄은 이전 상태로 회복 불가능할 수 있기 때문에 이런 스케줄은 dbms에서 허용하면안됨

회복가능한 스케줄
스케줄 내에서 어떤 트랜잭션도 자신이 읽은 데이터를 write한 트랜잭션이 먼저 커밋/롤백하기 전까지는 커밋하지 않는 경우

캐스캐이딩 롤백
하나의 트랜잭션이 롤백하면 의존성이있는 다른 트랜잭션도 롤백하는 것
여러 트랜잭션의 롤백이 연쇄적으로 일어나면 처리하는 비용이 많이 듬

캐스캐이드리스 스케줄
스케줄 내에서 어떤 트랜잭션도 커밋되지않은 트랜잭션들이 write한 데이터를 읽지않은 경우 하지만 읽기작업이 없을시 일부 트랜잭션의 결과가 무효화될 수 있음

엄격한 스케줄
스케줄 내에서 어떤 트랜잭션도 커밋되지않은 트랜잭션들이 write한 데이터를 write하지도 read하지도않은 경우

한마디로 회복가능한 스케줄안에
롤백비용이 적은 캐스캐이드리스 스케줄이 있고
부작용을 없앤 엄격한 스케줄이 있음




'데이터베이스 > RDB' 카테고리의 다른 글

격리수준  (0) 2025.12.23
데이터베이스 동시성 제어 (1)  (0) 2025.12.23