[정의] 트랜잭션이 한 데이터 아이템을 접근하려 할 때, 그 트랜잭션의 타임스탬프와 접근하려는 데이터 아이템의 여러 버전의 타임스탬프를 비교하여, 현재 실행하고 있는 스케줄의 직렬가능성이 보장되는 적절한 버전을 선택하여 접근하도록 하는 기법
[특징] 판독 요청을 거절하지도, 대기하지도 않음. 트랜잭션간의 충돌문제는 대기가 아니라 복귀처리 함으로 연쇄 복귀초래 발생 가능성
[동작설명]
1) 데이터를 변경할 때마다 그 변경사항을 Undo 영역에 저장해 둔다
2) 트랜잭션 시작 시점 이후에 변경된(진행 중이거나 이미 커밋된) 값을 발견하면,
Undo 영역에 저장된 정보를 이용, CR Copy 를 생성하여 그것을 읽는다. (SCN 이용)
3) 쿼리 도중에 배타적 Lock 이 걸린, 즉 변경이 진행 중인 레코드를 만나도 진행가능
※ SCN(System Change Number) : commit 발생시, 트랜잭션에 연속증가, 고유번호
※ CR Block : 읽기 일관성(Consistent Read) Block 아래 그림에서는 Data Block을 의미
'ITPE > DB' 카테고리의 다른 글
데이터 모델링 (0) | 2021.03.06 |
---|---|
ARIES (Algorithms for Recovery and Isolation Exploiting Semantics) (0) | 2021.03.06 |
Timestamp Ordering (0) | 2021.03.06 |
낙관적 검증(Validation) (0) | 2021.03.06 |
무결성 (0) | 2018.03.03 |