Consistent Read
현재 블록이 너무 새로우면, 읽기는 Undo 체인에서 자기 시점보다 오래된 첫 버전을 고른다.

버전은 따로 복제되는 것이 아니라 현재 블록과 이전 상태 기록이 연결됩니다. 그래서 서로 다른 조회가 같은 체인을 보되, 멈추는 지점만 달라집니다.

현재 블록

가장 최신 상태

SCN2000
값 A300

조회 시점보다 크면 그대로 읽지 못하고 이전 버전으로 이동합니다.

→
Undo 1

직전 버전

SCN1500
값 A200

T1처럼 SCN 1500 시점 조회는 여기서 멈추고 값을 반환합니다.

→
Undo 2

더 오래된 버전

SCN1000
값 A100

T2처럼 더 오래된 시점 조회는 한 단계 더 내려가서 일관된 값을 찾습니다.

조회 시점
현재 블록 2000
Undo 1 1500
Undo 2 1000
T1 snapshot SCN = 1500
너무 최신 2000 > 1500
여기서 채택 1500 ≤ 1500, A = 200 반환
더 내려갈 필요 없음 첫 일치 버전에서 정지
T2 snapshot SCN = 1200
너무 최신 2000 > 1200
여전히 최신 1500 > 1200
여기서 채택 1000 ≤ 1200, A = 100 반환
판단 규칙
읽기는 현재 값을 무조건 쓰지 않습니다. SCN이 조회 시점 이하가 되는 첫 버전을 찾을 때까지 Undo를 따라가며, 그래서 같은 행이라도 조회 시점마다 다른 값을 안정적으로 볼 수 있습니다.