미커밋 쓰기 값을 읽지 않는다. 읽는 쪽은 작성자가 커밋하거나 롤백될 때까지 기다린다.
Strict
엄격한 스케줄은 미완료 쓰기 대상을 보호한다
다른 트랜잭션이 쓴 항목은 그 트랜잭션이 커밋/롤백될 때까지 건드리지 않는다. 더티 읽기뿐 아니라 미완료 쓰기 대상의 덮어쓰기까지 막기 때문에 장애 후 복구가 단순해진다.
차단
복구 쉬움
구현 차이
미완료 쓰기 대상에 덮어쓰지 않는다. 같은 항목에 대한 W-W 충돌을 트랜잭션 종료 뒤로 미룬다.
Strict 2PL, MVCC, 잠금 정책이 DBMS별로 조합된다.
실패한 트랜잭션의 변경을 되돌릴 때, 다른 커밋된 트랜잭션이 그 값을 이미 읽거나 덮어쓴 상태가 아니므로 Undo 범위가 명확하다.
Cascadeless는 미커밋 값을 읽지 않는 데 초점이 있고, Strict는 같은 항목의 쓰기까지 트랜잭션 종료 전에는 막는 더 강한 조건이다.
시험이나 설계 검토에서는 “미커밋 값을 읽었는가”와 “미완료 쓰기 항목을
다시 썼는가”를 따로 표시하면 strict 여부를 빠르게 판별할 수 있다.